網(wǎng)上有很多關(guān)于Jenkins持續(xù)化集成和單元測試的文章,但是在接入過程中,遇到了一些問題,然而這些教程并不能很好的解決我的問題,所以打算自己整理一篇。
一.環(huán)境說明
搭建機器:一臺Mac Book Pro
開發(fā)工具:XCode V8.0
開發(fā)環(huán)境:OS X EI Capitan 版本 10.11.6
Jenkins版:V2.7.4
二.環(huán)境搭建
1:安裝jenkins
打開終端,使用brew install jenkins進行安裝,如果沒有安裝過homebrew環(huán)境的同學,可以先學習安裝homebrew。
1)安裝 homebrew環(huán)境,$$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
2)brew install jenkins
安裝成功后,在/usr/local/Cellar/jenkins/1.646/libexec文件夾下,會有jenkins.war文件,表示安裝成功。PS:我用命令行安裝的Jenkins版本為V1.646,后來在Jenkins服務(wù)器中,更新升級為了V2.7.4。
3)運行Jenkins,java -jar /usr/local/Cellar/jenkins/1.646/libexec/jenkins.war,為了方便,我寫了個運行Jenkins命令的別名:aliasjenkins='java -jar /usr/local/Cellar/jenkins/1.646/libexec/jenkins.war’,只有只要輸入jenkins就相當于運行Jenkins
Jenkins運行成功之后,就可以用瀏覽器訪問http://localhost:8080/地址
2:jenkins環(huán)境配置
安裝Jenkins插件:Xcode integration
系統(tǒng)管理/管理插件/可選插件,搜索安裝
PS:在已安裝插件中,可以更新升級的插件,最好選擇更新。
三.持續(xù)化集成
1:打包.ipa
接下來就是項目的持續(xù)化集成了
1、首先新建一個自由風格的job
建完之后進入job的配置界面
2、添加工程源碼管理,因為我們的工程使用Versions,所以當然選擇SubVersion啦~
3、在構(gòu)建中增加構(gòu)建步驟,對XCode進行配置
4、配置完成后,保存,點擊立即構(gòu)建
當構(gòu)建完成后,小圓點為藍色圖標,代表構(gòu)建成功,若失敗,可查看構(gòu)建日志,分析失敗原因
讓我們來看看在workspace/build文件夾中能否找到.ipa包
打包成功!
2:自動上傳蒲公英
只需要在構(gòu)建完Xcode后,再增加構(gòu)建Execute shell(注意順序,不能錯)
保存,立即構(gòu)建,之后就能在蒲公英上看到自己上傳的測試包了。
四.單元測試的引入
我沒把單元測試和打包上傳蒲公英的Job合并到一起,是因為不想每次單元測試的時候,都要上傳一次測試包,這樣每次構(gòu)建也很花時間。
1、和之前持續(xù)化集成的步驟相同,新建一個RiderTest的Job
2、配置SVN、Xcode。Xcode不配置打包相關(guān)的設(shè)置。
3、增加構(gòu)建Execute shell:
//因為根目錄為workspace,xcodebuild需要在Rider.xcworkspace所在目錄下進行操作,所以要先cd到相應(yīng)路徑
cd Rider\ 4.1.0
//配置SDK、測試設(shè)備
xcodebuild test -workspace Rider.xcworkspace -scheme Rider -sdk iphonesimulator10.0 -destination OS=10.0,name="iPhone 6s plus" -configuration Debug 2>&1 | ocunit2junit
4、增加構(gòu)建后步驟
在第一次填寫的時候,測試報告的路徑會標紅,沒關(guān)系,這是因為那時候還沒有進行test,相應(yīng)目錄下沒有xml文件生成,之后點保存,立即構(gòu)建。
5、構(gòu)建成功后,在Job的主頁就能看到測試的結(jié)果