Как остановить сервисы на Travis CI, работающие по умолчанию?

3

Экземпляры машины для Travis CI запускают некоторые сервисы по умолчанию, которые не полезны для мой проект. Поэтому я хочу остановить эти услуги. Моя первая идея заключалась в том, чтобы использовать следующий блок в моем .travis.yml, чтобы сделать это:

before_script:
  # Disable services enabled by default
  - sudo service mysql stop
  - sudo service postgresql stop

Однако это было успешно для одного и не удалось для другой машины:

$ sudo service mysql stop
mysql stop/waiting

$ sudo service postgresql stop
 * Stopping PostgreSQL 9.1 database server
   ...done.
 * Stopping PostgreSQL 9.2 database server
   ...done.
 * Stopping PostgreSQL 9.3 database server
   ...done.

...

$ sudo service mysql stop    
stop: Unknown instance:

The command "sudo service mysql stop" failed and exited with 1 during .

Другим вариантом является /etc/init.d/mysql stop, но это может завершиться неудачно на машине, которая запустила процесс с помощью команды service. Есть ли попытка try-catch, которую я могу использовать в .travis.yml script?

  • 0
    У вас есть ссылки на сборки, где вы видели это?
  • 0
    @roidrage Я добавил это.
Теги:
yaml
travis-ci

2 ответа

3

Оказывается, что использование упомянутого /etc/init.d/ ... работает более надежно. Существуют некоторые предупреждения о том, что следует использовать sudo service ..., но я не был успешным с ними. Итак, вот что я сейчас запускаю:

language: android

jdk:
  - oraclejdk7
  - openjdk7

android:
  components:

    # All the build system components should be at the latest version
    - tools
    - platform-tools
    - build-tools-21.1.1
    - android-19

    # The libraries we can't get from Maven Central or similar
    - extra-android-support


notifications:
  email: true

before_script:

  # Disable services enabled by default
  # http://docs.travis-ci.com/user/database-setup/#MySQL
  - sudo /etc/init.d/mysql stop
  - sudo /etc/init.d/postgresql stop
  # The following did not work reliable
  # - sudo service mysql stop
  # - sudo service postgresql stop

  # Ensure Gradle wrapper is executable
  - chmod +x gradlew

  # Ensure signing configuration is present
  - mv app/gradle.properties.example app/gradle.properties

script:
  - ./gradlew clean assembleDebug
0

sudo service mysql stop

Я использую travis с laradock с mysql. И эта команда сделала для меня работу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню