TL; DRใช้ภาพที่ระบุhttps://docs.travis-ci.com/user/common-build-problems/#troubleshooting-locally-in-a-docker-imageร่วมกับhttps://github.com/ เทรวิส-CI
แก้ไข 2019-12-06
#troubleshooting-locally-in-a-docker-image
ส่วนก็ถูกแทนที่ด้วย#running-builds-in-debug-mode
ซึ่งยังอธิบายวิธีการSSH กับงานทำงานในโหมดการแก้ปัญหา
แก้ไข 2019-07-26
#troubleshooting-locally-in-a-docker-image
ส่วนนี้ไม่ได้เป็นส่วนหนึ่งของเอกสารอีกต่อไป นี่คือเหตุผล
แม้ว่ามันจะยังอยู่ในประวัติคอมไพล์: https://github.com/travis-ci/docs-travis-ci-com/pull/2193 https://github.com/travis-ci/docs-travis-ci-com/pull/2193
มองหา (ค่อนข้างเก่าไม่สามารถหาใหม่กว่า) เวอร์ชั่นภาพที่: https://travis-ci.org/travis-ci/docs-travis-ci-com/builds/230889063#L661
ฉันต้องการตรวจสอบว่าทำไมหนึ่งในการทดสอบในงานสร้างของฉันล้มเหลวเนื่องจากข้อผิดพลาดที่ฉันไม่ได้รับภายในเครื่อง
ทำงาน
สิ่งที่ใช้งานได้จริงคือการใช้ภาพที่ระบุในการแก้ไขปัญหาเฉพาะที่ในหน้าเอกสารภาพนักเทียบท่า ในกรณีของฉันมันเป็น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/ https://hub.docker.com/u/travisci/
รูปร่างของผู้ปฏิบัติงานรุ่นที่ชี้ไปยังเทรวิส-CI / ผู้ปฏิบัติงานกระทำและเทรวิงานการติดตั้งการอ้างอิง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
ไม่น่าเชื่อถือแน่นอน (Ubuntu 14.04) และไม่เล็ก