tl; dr Використовуйте зображення, вказане на https://docs.travis-ci.com/user/common-build-problems/#troubleshooting-locally-in-a-docker-image у поєднанні з https://github.com/ travis-ci / travis-build # use-as-addon-for-travis-cli .
EDIT 2019-12-06
#troubleshooting-locally-in-a-docker-image
розділ було замінено на #running-builds-in-debug-mode
який також описано, як SSH до завдання, що працює в режимі налагодження .
EDIT 2019-07-26
#troubleshooting-locally-in-a-docker-image
розділ більше не є частиною документів; ось чому
Хоча це все ще в історії git: https://github.com/travis-ci/docs-travis-ci-com/pull/2193 .
Шукайте (досить старі, не вдалося знайти новіші) версії зображень за посиланням: https://travis-ci.org/travis-ci/docs-travis-ci-com/builds/230889063#L661 .
Я хотів перевірити, чому один із тестів моєї збірки не вдався з помилкою, яку я не отримую локально.
Працювали.
Насправді працювало використання зображення, вказаного під час усунення несправностей локально, на сторінці документів Docker Image . У моєму випадку це було travisci/ci-garnet:packer-1512502276-986baf0
.
Мені вдалося додати travise compile
наступні кроки, описані на https://github.com/travis-ci/travis-build#use-as-addon-for-travis-cli .
dm@z580:~$ docker run --name travis-debug -dit travisci/ci-garnet:packer-1512502276-986baf0 /sbin/init
dm@z580:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
travisci/ci-garnet packer-1512502276-986baf0 6cbda6a950d3 11 months ago 10.2GB
dm@z580:~$ docker exec -it travis-debug bash -l
root@912e43dbfea4:/# su - travis
travis@912e43dbfea4:~$ cd builds/
travis@912e43dbfea4:~/builds$ git clone https://github.com/travis-ci/travis-build
travis@912e43dbfea4:~/builds$ cd travis-build
travis@912e43dbfea4:~/builds/travis-build$ mkdir -p ~/.travis
travis@912e43dbfea4:~/builds/travis-build$ ln -s $PWD ~/.travis/travis-build
travis@912e43dbfea4:~/builds/travis-build$ gem install bundler
travis@912e43dbfea4:~/builds/travis-build$ bundle install --gemfile ~/.travis/travis-build/Gemfile
travis@912e43dbfea4:~/builds/travis-build$ bundler binstubs travis
travis@912e43dbfea4:~/builds/travis-build$ cd ..
travis@912e43dbfea4:~/builds$ git clone --depth=50 --branch=master https://github.com/DusanMadar/PySyncDroid.git DusanMadar/PySyncDroid
travis@912e43dbfea4:~/builds$ cd DusanMadar/PySyncDroid/
travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$ ~/.travis/travis-build/bin/travis compile > ci.sh
travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$ sed -i 's,--branch\\=\\\x27\\\x27,--branch\\=master,g' ci.sh
travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$ bash ci.sh
Все від .travis.yml
було виконано як очікувалося (встановлені залежності, тести виконувались, ...).
Зверніть увагу , що перед запуском bash ci.sh
я повинен був змінити --branch\=\'\'\
до --branch\=master\
(див Передостання sed -i ...
команда) в ci.sh
.
Якщо це не працює, команда нижче допоможе визначити номер цільового рядка, і ви можете редагувати рядок вручну.
travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$ cat ci.sh | grep -in branch
840: travis_cmd git\ clone\ --depth\=50\ --branch\=\'\'\ https://github.com/DusanMadar/PySyncDroid.git\ DusanMadar/PySyncDroid --echo --retry --timing
889:export TRAVIS_BRANCH=''
899:export TRAVIS_PULL_REQUEST_BRANCH=''
travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$
Не працювало.
Після цього прийняли відповідь на це запитання, але не знайшли зображення ( travis-ci-garnet-trusty-1512502259-986baf0
), згадане instance
на https://hub.docker.com/u/travisci/ .
Версія побудови робітника вказує на зобов’язання travis-ci / worker та його посилання на встановлення travis-workerquay.io/travisci/
як реєстр зображень. Тому я спробував це.
dm@z580:~$ docker run -it -u travis quay.io/travisci/travis-python /bin/bash
travis@370c23a773c9:/$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise
travis@370c23a773c9:/$
dm@z580:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/travisci/travis-python latest 753a216d776c 3 years ago 5.36GB
Однозначно не надійний (Ubuntu 14.04) і не маленький.