Экземпляры машины для 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?
Оказывается, что использование упомянутого /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
sudo service mysql stop
Я использую travis с laradock с mysql. И эта команда сделала для меня работу.