Spectrum持續整合專案打包(Travis-CI)
Travis-CI
what
Travis CI 是目前新興的開源持續整合構建專案(Continuous Integration,簡稱 CI),它與jenkins,GO的很明顯的特別在於採用yaml格式,簡潔清新獨樹一幟。目前大多數的github專案都已經移入到Travis CI的構建佇列中,據說Travis CI每天執行超過4000次完整構建。
why
團隊協作開發中,構建、測試與部署往往會產生衝突,花費不必要的精力去解決這些問題。CI通過繫結 Github 上面的專案,只要有新的程式碼,就會自動抓取。然後,提供一個執行環境,執行測試,完成構建,還能部署到伺服器。每次程式碼的小幅變更,就能看到執行結果,從而不斷累積小的變更,而不是在開發週期結束時,一下子合併一大塊程式碼。
who
Travis-CI僅支援GitHub的專案,對開源專案是免費,對私有專案是收費的
how
在Github上,可以新增Travis CI,當有code push時候,會推送通知到Travis,根據設定的指令碼執行指定任務。
接下來以開源專案Spectrum為例,來一步步演示如何使用Travis-CI
Spectrum持續整合專案打包
step1
當然得先fork一下我們的主角啦Spectrum
step2
訪問Travis-CI 官網,點選頁面右上角的“Sign in with GitHub ”,輸入github密碼進行登入。然後會在首頁的右側看到自己的github倉庫列表。如圖:(我這麼搜尋只為了展示Spectrum)
step3
點選上圖中Spectrum倉庫右側對應的開關。開啟開關,Travis 會監聽這個倉庫的所有變化
step4
在github首頁,點選自己頭像下的setting,選擇左側欄目最下面一項“Developer settings”,再點選左側欄的“Personal access tokens”,然後點選頁面右上角的“Generate new token”。1.填寫Token description 2.選擇repo打鉤即可,如圖
然後點選頁面下方的 “Generate token”,頁面會出現生成的token.只一次可見,一定要第一次儲存下來。
step5
安裝travis客戶端。MAC端執行命令 gem install travis 然後執行命令 travis -v 驗證安裝成功。如圖
step6
回到Travis-CI,點選右側的 More options下拉選單的Settings,如圖
找到環境變數 Environment Variables,name自定義設定,value為step4中的token值,然後點選Add按鈕。如圖
step7
接下來是重頭戲.travis.yml檔案,點選官方文件查詢可查詢更多.travis.yml配置標籤(自我探索:可以取文件中查閱step5中生成secure值如何配置)
language: go
go:
- 1.10.x
script:
- make
將以上.travis.yml檔案儲存在/ 根目錄下
step8
現在可以測試流程了 在原生代碼中,加任意測試程式碼,然後執行 git add . git commit -m ‘測試travis CI’ git push 如圖
然後回到Travis-CI,如圖,pass成功。