tl, dr kullanımı görüntü belirtilen https://docs.travis-ci.com/user/common-build-problems/#troubleshooting-locally-in-a-docker-image ile kombinasyon halinde https://github.com/ travis-ci / travis-build # travis-cli için eklenti olarak kullanın .
DÜZENLE 2019-12-06
#troubleshooting-locally-in-a-docker-image
bölümünde hata ayıklama modunda çalışan işe#running-builds-in-debug-mode
nasıl SSH açıklanır .
DÜZENLEME 2019-07-26
#troubleshooting-locally-in-a-docker-image
bölümü artık dokümanların bir parçası değildir; bu yüzden
Yine de, git geçmişinde: https://github.com/travis-ci/docs-travis-ci-com/pull/2193 .
Https://travis-ci.org/travis-ci/docs-travis-ci-com/builds/230889063#L661 adresinde (oldukça eski, daha yeni) resim sürümleri arayın .
Yapımdaki testlerden birinin neden yerel olarak alamadığım bir hatayla başarısız olduğunu incelemek istedim .
Çalışmış.
Gerçekte işe yarayan şey, bir Docker Image dokümanlar sayfasında Yerel Olarak Sorun Giderme bölümünde belirtilen görüntüyü kullanmaktı . Benim durumumda öyleydi travisci/ci-garnet:packer-1512502276-986baf0
.
Https://github.com/travis-ci/travis-build#use-as-addon-for-travis-cli adresindetravise compile
açıklanan aşağıdaki adımları ekleyebildim .
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
Her şey .travis.yml
beklendiği gibi yürütüldü (bağımlılıklar kuruldu, testler yapıldı, ...).
Çalıştırmadan önce içinde (son komut için ikinci komuta bakınız) bash ci.sh
değiştirmek zorunda olduğumu unutmayın .--branch\=\'\'\
--branch\=master\
sed -i ...
ci.sh
Bu işe yaramazsa, aşağıdaki komut hedef satır numarasını tanımlamaya yardımcı olur ve satırı elle düzenleyebilirsiniz.
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$
İşe yaramadı.
Bu soru için kabul edilen cevabını izledi ama görüntüyü (bulamadık travis-ci-garnet-trusty-1512502259-986baf0
bahsettiği) instance
de https://hub.docker.com/u/travisci/ .
Travis-ci / worker kesinti ve travis-worker-install referanslarını görüntü kaydı olarak oluşturmak için worker (işçi) sürüm noktaları oluşturun . Ben de denedim.quay.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
Kesinlikle güvenilir (Ubuntu 14.04) ve küçük de değil.