Travis Build揭示了Travis工人和工作委員會用來生成Bash腳本的API,然後將其複製到工作執行環境中並執行,並將結果輸出流回到Travis。
該代碼基礎已經經歷了幾次開發的迭代,最初是從傳統的Travis Worker中提取的,然後才採取其當前表格。
跑步
bundle exec rake spec
您可以將Travis-Build設置為命令行客戶端的插件:
git clone https://github.com/travis-ci/travis-build
cd travis-build
mkdir -p ~ /.travis
ln -s $PWD ~ /.travis/travis-build
gem install bundler
bundle install --gemfile ~ /.travis/travis-build/Gemfile
bundler binstubs travis
現在,您將能夠運行travis compile
,該編譯會產生運行指定作業的BASH腳本,但沒有定義安全的環境變量,並且不考慮構建矩陣擴展,例如:
~ /.travis/travis-build/bin/travis compile
編譯命令生成的bash腳本包含對執行系統執行系統進行更改的命令(例如,edit /etc/resolv.conf
,安裝軟件)。有些人需要sudo
特權,並且不容易撤消。
強烈建議您在容器或其他虛擬化環境中運行此操作。
該命令可以通過三種方式調用:
沒有參數,它就會從本地.travis.yml
中的操作中產生並打印一個bash腳本,而無需考慮env
和matrix
值( travis-build
無法正確擴展這些鍵)。
~ /.travis/travis-build/bin/travis compile
使用一個整數,它為給定構建(或該構建矩陣的第一個工作)生成腳本。
~ /.travis/travis-build/bin/travis compile 8
有了MN
形式的論點,它為Job MN
生成了BASH腳本。
~ /.travis/travis-build/bin/travis compile 351.2
生成的腳本可在容器或虛擬化環境中使用,這些環境密切模仿Travis CI的構建環境,以幫助您調試構建故障。 Travis CI文檔中提供了運行此類容器的說明。
除了Travis CLI插件外,您還可以運行獨立的CLI腳本:
bundle exec script/compile < payload.json > build.sh
如果您想在計算機上本地運行Travis-Build(例如要與Worker互動),也可以將其作為帶有Docker-Compose的Docker容器運行:
首先,構建圖像:
docker-compose build web
第二,運行圖像:
docker-compose run web
您可能希望使用不同的設置進行本地開發。以下顯示在development
環境中運行travis-build
,將Docker Image的端口4000轉發到主機的端口4000:
docker-compose run -e RACK_ENV=development -p 4000:4000 web
構建並運行它。這將創建一個/usr/src/app
目錄中travis-build
存儲庫中內容的容器,並在該目錄中啟動您。從那裡,您可以運行用作Travis CLI部分的插件中列出的命令,以使Compile命令可用於容器中的Travis Cli。
請參閱許可證文件。
版權(C)2011-2016 Travis CI開發團隊。