持續(xù)集成(Continuous Integration 簡(jiǎn)稱(chēng)
CI
)份名。Jenkins 是一個(gè)開(kāi)源項(xiàng)目,提供了一種易于使用的持續(xù)集成系統(tǒng),使開(kāi)發(fā)者從繁雜的集成中解脫出來(lái)栋操,專(zhuān)注于更為重要的業(yè)務(wù)邏輯實(shí)現(xiàn)上。具體就不多說(shuō)了饱亮,想要更多的了解可以去查一下矾芙,下面是集成方法。
本文最終目的:
- 測(cè)試人員可登錄
Jenkins
網(wǎng)頁(yè)自行選擇開(kāi)發(fā)分支
和打包類(lèi)型
近上,然后自動(dòng)打包完成并自動(dòng)上傳至蒲公英
或iTunes Connect
剔宪,不再需要開(kāi)發(fā)人員手動(dòng)安裝或上傳。
1. 配置 Fastlane
由于項(xiàng)目的編譯打包以及上傳全部要依賴 Fastlane
來(lái)進(jìn)行壹无,所以在配置 Jenkins
之前要保證項(xiàng)目已經(jīng)配置好了 Fastlane
葱绒,這里看我的另一篇文章:【iOS 開(kāi)發(fā)】使用 Fastlane 自動(dòng)化打包并發(fā)布 iOS 項(xiàng)目 。
2. 安裝 Jenkins
Jenkins
依賴于Java
運(yùn)行環(huán)境斗锭,因此需要先保證電腦已經(jīng)安裝了Java JDK
地淀,如果沒(méi)有的話前往 這里 下載安裝即可。我這里是使用 homebrew 安裝
Jenkins
岖是,沒(méi)有安裝homebrew
的輸入以下命令安裝一下帮毁。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
千萬(wàn)不要去
Jenkins
官網(wǎng)下載pkg
安裝包安裝,因?yàn)橛冒惭b包安裝會(huì)自動(dòng)生成一個(gè)共享用戶jenkins
豺撑,而這個(gè)用戶的權(quán)限和系統(tǒng)登錄用戶的權(quán)限不同作箍,會(huì)造成大量的權(quán)限問(wèn)題,我已經(jīng)被坑慘了前硫,用homebrew
裝是不會(huì)生成共享用戶的胞得。homebrew
安裝完成后輸入以下命令安裝Jenkins
。
brew install jenkins
- 如果想要卸載直接執(zhí)行以下命令即可卸載
Jenkins
屹电。
brew uninstall jenkins
- 安裝完成后輸入以下命令鏈接
launchd
配置文件阶剑。
ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents
- 然后執(zhí)行以下命令啟動(dòng)
Jenkins
。
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
-
Jenkins
默認(rèn)是開(kāi)機(jī)自動(dòng)啟動(dòng)的危号,如果想關(guān)閉就執(zhí)行以下命令即可關(guān)閉牧愁。
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
- 接著打開(kāi)瀏覽器,輸入 http://localhost:8080 外莲,就可以看到
Jenkins
已經(jīng)啟動(dòng)猪半。
-
Jenkins
默認(rèn)端口號(hào)是8080
兔朦,如果想要更改端口號(hào)的話可以用Xcode
打開(kāi)以下文件,將httpPort
后面的8080
改成你想要的端口號(hào)即可磨确,如果想要?jiǎng)e人訪問(wèn)你的Jenkins
服務(wù)器沽甥,只要把httpListenAddress
改為0.0.0.0
即可,改完重啟后生效乏奥。
/usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist
3. 配置 Jenkins
- 等待啟動(dòng)完成后 摆舟,會(huì)出現(xiàn)以下界面讓你輸入密碼解鎖。
- 密碼就在上面提示的
/Users/Jonzzs/.jenkins/secrets/initialAdminPassword
文件中邓了,打開(kāi)initialAdminPassword
文件將密碼復(fù)制到瀏覽器解鎖即可恨诱,然后點(diǎn)擊第一個(gè)Install suggested plugins
。
- 然后等待插件全部安裝完成骗炉。
- 安裝完成后會(huì)跳出創(chuàng)建用戶界面照宝,按照提示創(chuàng)建用戶即可。
- 最后到這個(gè)頁(yè)面就算是安裝完成了句葵。
4. 安裝插件
- 在建任務(wù)之前需要先安裝幾個(gè)插件硫豆,前往
系統(tǒng)管理
-管理插件
,在可選插件
中搜索GitLab Plugin
笼呆、Gitlab Hook Plugin
熊响、Xcode integration
這三個(gè)插件,然后安裝诗赌。
5. 配置環(huán)境變量
- 前往
系統(tǒng)管理
-系統(tǒng)設(shè)置
找到全局屬性
汗茄,然后添加以下三個(gè)環(huán)境變量。
LANG
en_US.UTF-8
LANGUAGE
en_US.UTF-8
LC_ALL
en_US.UTF-8
- 這三個(gè)環(huán)境變量是用來(lái)修改編碼格式的铭若,如果不加下面腳本執(zhí)行
fastlane
命令時(shí)會(huì)報(bào)錯(cuò)洪碳。
6. 創(chuàng)建任務(wù)
- 插件安裝完成以后就可以開(kāi)始創(chuàng)建項(xiàng)目了,點(diǎn)擊新建任務(wù)叼屠,輸入你的項(xiàng)目名稱(chēng)瞳腌。
- 勾選
參數(shù)化構(gòu)建過(guò)程
,添加一個(gè)String Parameter
和一個(gè)Choice Parameter
镜雨,第一個(gè)ARCHIVE_BRANCH
主要是輸入要打包的項(xiàng)目分支嫂侍,第二個(gè)ARCHIVE_TYPE
是選擇打包的類(lèi)型,我這邊beta
是打包發(fā)布到蒲公英
荚坞,release
是打包發(fā)布到iTunes Connect
挑宠,如果你不需要這些參數(shù)可以跳過(guò)。
- 在
源碼管理
輸入你的倉(cāng)庫(kù)地址颓影,地址為SSH
方式各淀,然后需要在點(diǎn)擊Add
添加SSH Key
。
- 選擇
SSH Username with private key
類(lèi)型诡挂,Username
隨便填碎浇,然后選擇From the Jenkins master ~/.ssh
临谱,添加完之后在Credentials
那里選擇即可。
如果自己電腦沒(méi)有生成過(guò)
SSH Key
奴璃,就自己去查一下吧悉默,這里就不重復(fù)了。最后在
構(gòu)建
中增加一個(gè)Execute Shell
溺健,主要用來(lái)填寫(xiě)腳本內(nèi)容麦牺。
- 填寫(xiě)以下腳本命令钮蛛,
xxx
處填寫(xiě)自己項(xiàng)目相應(yīng)文件夾名鞭缭,因?yàn)樵趫?zhí)行fastlane
指令之前需要進(jìn)入fastlane
文件夾所在目錄,如果你的git
根目錄就是在項(xiàng)目目錄的話魏颓,可以不用這句岭辣,然后點(diǎn)擊保存
即可。
git checkout ${ARCHIVE_BRANCH}
git pull
cd ./xxx
fastlane ${ARCHIVE_TYPE}
7. 開(kāi)始打包
- 進(jìn)入你創(chuàng)建的任務(wù)甸饱,點(diǎn)擊
Build with Parameters
沦童,然后輸入要打包的項(xiàng)目分支以及類(lèi)型,然后點(diǎn)擊開(kāi)始構(gòu)建
即可開(kāi)始打包叹话。
- 如果構(gòu)建失敗偷遗,也可以在
Build History
中點(diǎn)擊Console Output
查看控制臺(tái)輸出記錄,找到錯(cuò)誤原因驼壶。
配置方法到這里就完成了氏豌,有不明白的地方可以留言。
將來(lái)的你热凹,一定會(huì)感激現(xiàn)在拼命的自己泵喘,愿自己與讀者的開(kāi)發(fā)之路無(wú)限美好。
我的傳送門(mén): 博客 般妙、簡(jiǎn)書(shū) 纪铺、微博 、GitHub 碟渺。