tl;dr Verwenden Sie das unter https://docs.travis-ci.com/user/common-build-problems/#troubleshooting-locally-in-a-docker-image angegebene Bild in Kombination mit https://github.com/travis-ci/travis-build#use-as-addon-for-travis-cli.
EDIT 2019-12-06
#troubleshooting-locally-in-a-docker-image
Abschnitt wurde durch #running-builds-in-debug-mode
ersetzt, der auch beschreibt, wie man SSH zum im Debug-Modus laufenden Job herstellt.
EDIT 2019-07-26
#troubleshooting-locally-in-a-docker-image
Abschnitt ist nicht mehr Teil der Dokumentation; hier ist warum
Es ist jedoch immer noch im Git-Verlauf: 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 überprüfen, warum einer der Tests in meinem Build mit einem Fehler fehlgeschlagen ist, den ich lokal nicht bekommen habe.
Es hat funktioniert.
Was tatsächlich funktioniert hat, war die Verwendung des unter Lokales Troubleshooting in einem Docker-Bild angegebenen Bildes. In meinem Fall war es travisci/ci-garnet:packer-1512502276-986baf0
.
Ich konnte travis compile
hinzufügen, indem ich die Schritte befolgt habe, 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 vor 11 Monaten 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 aus .travis.yml
wurde wie erwartet ausgeführt (Abhängigkeiten installiert, Tests durchgeführt, ...).
Beachten Sie, dass ich vor dem Ausführen von bash ci.sh
--branch\=\'\'\
in --branch\=master\
ändern musste (siehe das vorletzte sed -i ...
Kommando) in ci.sh
.
Wenn das 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.
Ich habe die akzeptierte Antwort für diese Frage befolgt, aber das Bild (travis-ci-garnet-trusty-1512502259-986baf0
), das von instance
unter https://hub.docker.com/u/travisci/ erwähnt wurde, nicht gefunden.
Der Build worker version verweist auf den travis-ci/worker commit und sein travis-worker-install verweist auf quay.io/travisci/
als Bild-Registry. 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 vor 3 Jahren 5.36GB
Definitiv nicht Trusty (Ubuntu 14.04) und auch nicht klein.