1. 程式人生 > >Spectrum持續整合專案打包(Travis-CI)

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) 90.jpg

step3

點選上圖中Spectrum倉庫右側對應的開關。開啟開關,Travis 會監聽這個倉庫的所有變化

step4

github首頁,點選自己頭像下的setting,選擇左側欄目最下面一項“Developer settings”,再點選左側欄的“Personal access tokens”,然後點選頁面右上角的“Generate new token”。1.填寫Token description 2.選擇repo打鉤即可,如圖 92.jpg

然後點選頁面下方的 “Generate token”,頁面會出現生成的token.只一次可見,一定要第一次儲存下來。

step5

安裝travis客戶端。MAC端執行命令 gem install travis 然後執行命令 travis -v 驗證安裝成功。如圖 93.png

然後執行命令 travis login。輸入github的使用者名稱和密碼進行登入。如圖 94.png 登入成功後,mac端執行命令 travis encrypt -r / GH_Token=<step4 中得到的token值>。執行完如圖 95.png 得到加密後的secure值,進行儲存(配置檔案.travis.yml會用到)。

step6

回到Travis-CI,點選右側的 More options下拉選單的Settings,如圖 96.jpg

找到環境變數 Environment Variables,name自定義設定,value為step4中的token值,然後點選Add按鈕。如圖 97.jpg

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 如圖 100.png

然後回到Travis-CI,如圖,pass成功。 101.png