公司前段時(shí)間組織搞了一波Continuous Integration票编,項(xiàng)目都是基于gitlab的浪读,所以就用到了gitlab-ci和相應(yīng)的gitlab-runner揩尸,以下只是做簡(jiǎn)單的使用記錄,還需要自己不斷的對(duì)CI進(jìn)行實(shí)踐。
CI是軟件(產(chǎn)品)研發(fā)生命周期中對(duì)代碼質(zhì)量粒褒、系統(tǒng)集成的一個(gè)持續(xù)構(gòu)進(jìn)的過(guò)程月杉,當(dāng)作為一個(gè)團(tuán)隊(duì)開(kāi)發(fā)產(chǎn)品時(shí)检号,每個(gè)人都要開(kāi)發(fā)自己的功能模塊翘盖,最終都需要集成在一起炊甲,代碼也需要集中托管到同一個(gè)地方颈娜,通過(guò)使用一些自動(dòng)化的代碼打包蛹磺、測(cè)試工具,能夠在開(kāi)發(fā)人員每提交一次代碼的時(shí)候,系統(tǒng)自動(dòng)對(duì)程序進(jìn)行打包和單元測(cè)試区匠,如果出現(xiàn)問(wèn)題狞膘,及時(shí)通過(guò)郵件等方式通知相關(guān)的開(kāi)發(fā)人員辅愿。
GitLab是一個(gè)集代碼管理弃舒、測(cè)試削锰、代碼部署于一體的開(kāi)源應(yīng)用程序,它包括一個(gè)有非常好的權(quán)限控制的Git版本管理系統(tǒng)部服,代碼評(píng)審系統(tǒng)瘫想,問(wèn)題跟蹤系統(tǒng)车吹,活動(dòng)反饋系統(tǒng)乐埠,wiki,持續(xù)集成CI系統(tǒng)等银酗。
要想在gitlab中做持續(xù)集成,前期準(zhǔn)備工作要做好,首先是對(duì)gitlab-runner
的應(yīng)用纷闺,配置一個(gè)Runner
來(lái)做編譯浸卦、測(cè)試稚叹、打包等工作入录,并在項(xiàng)目根目錄中添加CI配置腳本文件.gitlab-ci.yml
。
配置Runner
在Mac電腦上配置一個(gè)Runner啊掏,要安裝一個(gè)代理程序gitlab-ci-multi-runner
,通過(guò)它來(lái)將Mac電腦注冊(cè)到gitlab服務(wù)器上,然后這臺(tái)mac機(jī)器就能接收到gitlab服務(wù)器下發(fā)的CI任務(wù)结序,完成相應(yīng)的編譯返敬、測(cè)試钮追、打包等工作网严,然后將結(jié)果反饋給gitlab服務(wù)器。
安裝gitlab-ci-multi-runner
終端輸入:
sudo curl --output /usr/local/bin/gitlab-ci-multi-runner https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-darwin-amd64
然后輸入:
sudo chmod +x /usr/local/bin/gitlab-ci-multi-runner
接下來(lái)就可以通過(guò)gitlab-ci-multi-runner
進(jìn)行注冊(cè)嗤无,注冊(cè)時(shí)需要gitlab上項(xiàng)目Runner的url和Token震束,示例:
gitlab-ci-multi-runner register
#Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
#輸入上圖中的URL.
#Please enter the gitlab-ci token for this runner:
#?輸入上圖中的token.
#Please enter the gitlab-ci description for this runner:
#輸入一個(gè)描述信息,這里我們輸入mac_runner
#Please enter the gitlab-ci tags for this runner (comma separated):
#?輸入一些標(biāo)簽当犯,這里我們輸入"mac,xcode7.1"
# Registering runner... succeeded runner=euasz2j9
#Please enter the executor: docker-ssh+machine, docker, docker-ssh, parallels, shell, ssh, virtualbox, docker+machine:
#這里我們輸入shell垢村,因?yàn)閕os項(xiàng)目的編譯、測(cè)試嚎卫、打包我們都采用腳本來(lái)執(zhí)行嘉栓。
#Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
#注冊(cè)成功,接下來(lái)是要啟動(dòng)它
接下來(lái)操作:
gitlab-ci-multi-runner install
gitlab-ci-multi-runner start
這兩步可能終端會(huì)出錯(cuò)誤,需要查自查解決侵佃,可參考1麻昼,參考2,Mac上Runner的啟動(dòng)方式可能需要判斷處理來(lái)達(dá)到開(kāi)啟運(yùn)行Runner的目的趣钱。
增加CI腳本文件.gitlab-ci.yml
在項(xiàng)目根目錄創(chuàng)建.gitlab-ci.yml文件涌献,可參考官方指導(dǎo),還需自己多查資料進(jìn)行實(shí)踐學(xué)習(xí)首有。
可通過(guò)fastlane進(jìn)行輔助燕垃,多找引子進(jìn)行實(shí)踐。對(duì)fastlane
的學(xué)習(xí)井联,可到其官網(wǎng)上進(jìn)行了解卜壕。