tl; dr Bild verwendet in bestimmten https://docs.travis-ci.com/user/common-build-problems/#troubleshooting-locally-in-a-docker-image in Kombination mit https://github.com/ travis-ci / travis-build # Verwendung als Addon für Travis-Cli .
EDIT 2019-12-06
#troubleshooting-locally-in-a-docker-image
Es wurde ein Abschnitt ersetzt, in #running-builds-in-debug-mode
dem auch beschrieben wird, wie SSH für den im Debug-Modus ausgeführten Job ausgeführt wird .
EDIT 2019-07-26
#troubleshooting-locally-in-a-docker-image
Abschnitt ist nicht mehr Teil der Dokumente; hier ist der Grund
Es ist jedoch noch in der Git-Geschichte: https://github.com/travis-ci/docs-travis-ci-com/pull/2193 .
Suchen Sie nach (ziemlich alten, konnte keine neueren finden) Bildversionen unter: https://travis-ci.org/travis-ci/docs-travis-ci-com/builds/230889063#L661 .
Ich wollte untersuchen, warum einer der Tests in meinem Build mit einem Fehler fehlgeschlagen ist, den ich lokal nicht bekomme.
Hat funktioniert.
Was tatsächlich funktionierte, war die Verwendung des unter Fehlerbehebung lokal auf einer Docker Image- Dokumentenseite angegebenen Abbilds . In meinem Fall war es travisci/ci-garnet:packer-1512502276-986baf0
.
Ich konnte die travise compile
folgenden Schritte hinzufügen , die unter https://github.com/travis-ci/travis-build#use-as-addon-for-travis-cli beschrieben sind .
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
Alles von .travis.yml
wurde wie erwartet ausgeführt (Abhängigkeiten installiert, Tests ausgeführt, ...).
Beachten Sie, dass bash ci.sh
ich vor dem Ausführen --branch\=\'\'\
zu --branch\=master\
(siehe vorletzten sed -i ...
Befehl) in wechseln musste ci.sh
.
Wenn dies nicht funktioniert, hilft der folgende Befehl, die Zielzeilennummer zu identifizieren, und Sie können die Zeile manuell bearbeiten.
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$
Hat nicht funktioniert.
Gefolgt die akzeptierte Antwort auf diese Frage , aber hat das Bild nicht (finden travis-ci-garnet-trusty-1512502259-986baf0
) erwähnt durch instance
bei https://hub.docker.com/u/travisci/ .
Die Build- Worker-Version verweist auf travis-ci / worker-Commit und seine travis-worker-install- Referenzen quay.io/travisci/
als Image-Registrierung. Also habe ich es versucht.
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
Auf keinen Fall vertrauenswürdig (Ubuntu 14.04) und auch nicht klein.