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 .
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://travis-ci.org/travis-ci/docs-travis-ci-com/builds/230889063#L661 에서 (오래된, 최신 버전을 찾을 수 없음) 이미지 버전을 찾으십시오 .
내 빌드의 테스트 중 하나 가 로컬에서 얻지 못하는 오류로 실패한
이유를 검사하고 싶었습니다 .
일했다.
실제로 작동 한 것은 Docker Image docs 페이지의 로컬 로 문제 해결에 지정된 이미지를 사용하는 것 입니다. 내 경우에는이었다 travisci/ci-garnet:packer-1512502276-986baf0
.
https://github.com/travis-ci/travis-build#use-as-addon-for-travis-cli에travise compile
설명 된 다음 단계 를 추가 할 수있었습니다 .
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$
작동하지 않았다.
이 질문에 대한 답을 수락했지만 https://hub.docker.com/u/travisci/ 에서 travis-ci-garnet-trusty-1512502259-986baf0
언급 한 이미지 ( )를 찾지 못했습니다 .instance
빌드 작업자 버전 은 travis-ci / worker commit 및 travis-worker-install 참조 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
확실히 신뢰할 수 없으며 (우분투 14.04) 작지도 않습니다.