一、Jenkins介紹
1.1 Jenkins介紹
Jenkins是一個(gè)開(kāi)源軟件項(xiàng)目营搅,旨在提供一個(gè)開(kāi)放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。
Jenkins官網(wǎng):https://jenkins.io/
1.2 Jenkins 安裝
使用home-brew安裝Jenkins
brew install jenkins
自動(dòng)安裝jenkins參考鏈接:http://www.reibang.com/p/b4efe5a3b442
提示jenkins是依賴jave1.7+的sek的贺待,所以brew install jenkins失敗可以先安裝java idk
brew cask install java
在安裝完畢之后,使用
brew services start jenkins //在后臺(tái)啟動(dòng)jenkins
jenkins //在前臺(tái)啟動(dòng)jenkins
jenkins默認(rèn)端口為8080
在瀏覽器中輸入:http://127.0.0.1:8080
第一次打開(kāi)需要輸入admin密碼授權(quán)零截,根據(jù)提示找到密碼位置即可麸塞。然后在下一步選擇推薦插件安裝,插件安裝完畢之后,創(chuàng)建一個(gè)admin賬號(hào):
然后就可以使用jenkins了涧衙。
二哪工、Code Archive(打包)
jenkins + xcode 實(shí)現(xiàn)iOS自動(dòng)構(gòu)建
使用jenkins新建一個(gè)任務(wù)新建一個(gè)為JenkinsTest項(xiàng)目,這里我們項(xiàng)目就新建好了弧哎,由于我們是實(shí)現(xiàn)jenkins+xcode實(shí)現(xiàn)iOS項(xiàng)目構(gòu)建雁比,所以除了jenkins自帶的必須插件,還缺少一些用來(lái)構(gòu)建我們項(xiàng)目的插件撤嫩;
插件列表
Xcode integration
fir-plugin
FTP publisher plugin
Gitlab Authentication plugin
GitLab Plugin
Keychains and Provisioning ProfilesManagement
插件管理
在系統(tǒng)管理—>插件管理—>可選插件中輸入名字搜索插件
任務(wù)配置在主頁(yè)選中JenkinsTest任務(wù)偎捎,點(diǎn)擊配置
1、配置源碼管理
2非洲、配置構(gòu)建觸發(fā)器
構(gòu)建觸發(fā)器可以配置自動(dòng)構(gòu)建鸭限,由于項(xiàng)目還處于開(kāi)發(fā)階段,我們還做不到定時(shí)打包的需求两踏,所以這個(gè)暫時(shí)不用勾選败京,在jenkins首頁(yè)手動(dòng)點(diǎn)擊開(kāi)啟按鈕進(jìn)行構(gòu)建。
3梦染、配置構(gòu)建環(huán)境
勾選上面這幾個(gè)選項(xiàng)赡麦,
1)、刪除項(xiàng)目在每次構(gòu)建之前帕识,
2)泛粹、需要配置打包證書(shū),這個(gè)地方注意下肮疗,這是個(gè)坑晶姊,先點(diǎn)擊左下角保存好配置。
在首頁(yè)點(diǎn)擊 系統(tǒng)配置 -> Keychains and Provisioning Profiles Management
這個(gè)keychain文件在哪里呢伪货?在資源庫(kù)下的->Keychains->login.keychain指的就這個(gè)login.keychain文件们衙,Provisioning Profiles Path 填"/User/{USERNAME}/Library/MobileDevice/Provisioning Profiles”钾怔。點(diǎn)擊旁邊的小問(wèn)號(hào)會(huì)有提示。
4蒙挑、配置構(gòu)建宗侦,如果pod管理的項(xiàng)目需要執(zhí)行Shell,pod install,我們的項(xiàng)目簡(jiǎn)單的可以執(zhí)行sh podCacheClear.sh
【可能出現(xiàn)的錯(cuò)誤整理】
1忆蚀、執(zhí)行shell時(shí)不認(rèn)pod 命令矾利,解決辦法,我的系統(tǒng)版本是10.11.6 (15G31)馋袜,以前安裝的pod的bin目錄男旗,jenkins沒(méi)有權(quán)限訪問(wèn),導(dǎo)致出錯(cuò)欣鳖。
解決方法:sudo gem uninstall cocoapods sudo gem install -n /usr/local/bin cocoapods
2剑肯、授權(quán)文件路徑不對(duì)
解決方法:這個(gè)是Provisioning Profiles Directory Path 不對(duì)應(yīng)該設(shè)置為下圖:
構(gòu)建插件2,xcode插件观堂。
點(diǎn)擊添加構(gòu)建步驟->添加xcode插件
配置xcode插件如下圖
**至此關(guān)鍵步驟已經(jīng)配置完畢。**
**4呀忧、打包嘗試 **
1师痕、點(diǎn)擊開(kāi)始按鈕,jenkins將會(huì)開(kāi)始構(gòu)建你的任務(wù)
2而账、點(diǎn)擊左邊任務(wù)條
3胰坟、在選擇控制臺(tái)輸出
4、將會(huì)看到控制臺(tái)輸出
5泞辐、構(gòu)建(打包)成功
控制臺(tái)輸出成功
檢查jenkins工作目錄是否有.ipa文件
5笔横、更多插件配置
更多配置包括參數(shù)化構(gòu)建配置、環(huán)境變量注入插件配置咐吼、fir上傳吹缔、FTP上傳、Email郵件通知锯茄。
1厢塘、參數(shù)化構(gòu)建示例:
勾選參數(shù)化構(gòu)建—>添加一個(gè)參數(shù),示例選擇String Parameter 肌幽。
定義一個(gè)參數(shù)為appName晚碾,在接下來(lái)的構(gòu)建過(guò)程中可以使用這個(gè)參數(shù),用法為${appName}
環(huán)境變量和這個(gè)參數(shù)用法差不多喂急,區(qū)別在與上面的參數(shù)在構(gòu)建之前會(huì)有一個(gè)界面讓你來(lái)給appName賦值一個(gè)值格嘁。環(huán)境變量可以在執(zhí)行shell腳本時(shí),利用sh寫(xiě)到項(xiàng)目中廊移,在構(gòu)建過(guò)程中和構(gòu)建后可以使用糕簿。
2探入、FTP配置
點(diǎn)擊系統(tǒng)管理—>系統(tǒng)設(shè)置—>FTP配置
3、郵件配置
點(diǎn)擊系統(tǒng)管理—>系統(tǒng)設(shè)置—>Extended E-mail Notification配置
4冶伞、在打包項(xiàng)目中增加構(gòu)建后操作步驟