標籤:
一、前言
在iOS開發過程種,我們習慣的方式是:建立工程-->修改代碼-->Xcode調試-->符合預期要求-->發布,這在單個開發人員的情況下固然沒有問題,一台mac和一個Xcode就可以完成,但是在大公司和團隊開發過程中,代碼管理、打包管理和測試管理就會存在很大的問題,多個開發都會同時修改代碼並提交,通常我們用git來管理這些代碼,並由單獨的人員打包以及測試代碼的品質。jenkins不僅可以完成自動化打包的過程,還可以與測試平台進行持續整合。
iOS jenkins打包的原理是Xcode命令列編譯,主要用到兩條命令:xcodebuild和xcrun,這兩個命令會隨Xcode的安裝而安裝,下面舉個使用例子:
/usr/bin/xcodebuild -scheme Demo4GT -configuration Release clean build -derivedDataPath .
/usr/bin/xcrun -sdk iphoneos PackageApplication -v Demo4GT/Build/Products/Debug-iphoneos/Demo4GT.app -o Demo4GT/Build/Products/Debug-iphoneos/Demo4GT_Demo4GT.ipa
二、準備工作
1、jenkins環境。搭建jenkins環境可以參考jenkins平台搭建和配置一節。需要注意的是,雖然涉及iOS開發,但是jenkins平台卻不必搭建在mac機器上,只要在jenkins上添加mac節點就可以了。
2、iOS開發環境。iOS開發環境主要是指Xcode開發環境,Xcode是免費的,只要在蘋果市集裡下載一個就可以了。當然,還有重要的一點兒---開發人員認證,現在個人也已經有免費的認證了,沒有認證的話,只能打模擬器用的包了。
3、git項目。強烈建議把代碼放在git上,這樣便於團隊開發。當然,不放git上也可以。
4、jenkins Xcode持續整合外掛程式。常用的外掛程式Xcode integration,這個外掛程式能夠快速的協助我們進行Xcode打包配置,當然,只用純shell指令碼也是可以的。
在jenkins上打包之前,我們最好手工測試一下可以打包成功,首先用Xcode圖形介面進行測試,然後用命令列測試,如果都能打包成功就可以掛在jenkins上運行了,畢竟jenkins的原理也是通過執行一系列命令來完成的。
三、jenkins配置
1、建立一個任務,建立任務的時候最好選自由式饒舌的軟體項目,這樣配置起來比較方便,如果有需要,也可以選擇其他的風格。
2、描述及丟棄舊的構建
描述很簡單,就是對這個項目的介紹,防止別人看不懂這個項目是幹什麼的。丟棄舊的構建是指將構建完的job進行刪除,因為大量的構建會佔用大量的硬碟空間,如果沒有什麼用途可以把舊的給刪除,當然,如果某個構建比較重要,可以持續保留。
Jenkins學習系列——iOS打包任務的建立和配置