更新于2016.02.24:
1.No scheme問題的解決
2.Code Sign Error問題的解決
3.關(guān)于.ipa打包的問題解決方案
2016.02.25 ->Homebrew
2016.02.26 ->Fir.im以及蒲公英
安裝Jenkins
點(diǎn)擊Jenkins進(jìn)入Jenkins官網(wǎng),右邊有個mac os x點(diǎn)擊下載。
下載之后會有個jenkins.war包(后臺服務(wù)),雙擊打開會提示

需要有jdk才能使用此工具。
點(diǎn)擊更多信息進(jìn)入頁面選擇JDK,然后會進(jìn)入此頁面Java SE Development Kit 8 Downloads

選中Accept License Agreement授權(quán),然后選擇Mac OS X x64下載dmg文件。
安裝好JDK之后,直接點(diǎn)擊jenkins.war運(yùn)行或者使用命令行java -jar jenkins.war運(yùn)行,然后瀏覽器訪問http://localhost:8080/即可進(jìn)入Jenkins界面。關(guān)于Jenkins的一些配置詳情可以參考Starting and Accessing Jenkins。
安裝插件

點(diǎn)擊系統(tǒng)管理->插件管理->Tab搜索Xcode,勾選下載安裝,然后重啟就可以使用了。
如果你想集成Github的Pull Request,需要安裝Github Plugin和GitHub pull request builder plugin,還想使用Testflight就需要再安裝git plugin和Testfilght plugin。
新建Job
新建一個自由風(fēng)格的軟件項目

一般會勾選丟棄舊的構(gòu)建,這樣會清理build文件夾。
源碼管理
如果使用的是svn,就選擇subversion

增加Xcode構(gòu)建

如果有workspace的高級配置:

注:通過之后的深入了解,Code Signing Idenity以及SDK的配置是可以不要的,至于Code Signing Idenity的配置也不是這樣的,如果需要配置這個的話,見下面的內(nèi)容。
Build
Build過程總是失敗,控制臺輸出報如下錯誤:

根據(jù)提示:/Application/Xcode 2.app/Contents/Developer路徑不存在,通過一番折騰,搞死人>.<,這個坎終于過了,只要在命令行輸入sudo xcode-select -s /Applications/Xcode.app/執(zhí)行就好了,可是問題又來了 TT.TT

找到問題所在,開始配置的iOS SDk:iphoneos9.0不對,修改為iphoneos9.2再次構(gòu)建,然后又報錯T.T(欲哭無淚)。
又折騰半天,心累!找到Jenkins下面的項目運(yùn)行一下,svn下下來的工程.a文件全部沒有......
想起以前給svn添加過.a文件,SVN上傳.a文件。
以為這次能成,結(jié)果:

卡死在這里,一直這樣,又不報錯,~~~(>_<)~~~
更新
經(jīng)過一段時間的摸索與參考,此處推薦lp_馬建成的幾篇Jenkins搭建博客CI第一篇:Jenkins+github->fir.im/蒲公英pgyer.com、CI第二篇 集成項目(SVN)workspace編譯生成ipa到fir-蒲公英(jenkins)、CI第二篇續(xù) issues。
上面的問題主要就是關(guān)于No scheme的,而解決這個問題只需在scheme管理share一下再上傳項目就可以了。No scheme 的解決辦法
之后又失敗了一次:

從報錯可以看出,是code design的問題,上面lp_馬建成的博客有提到,但是最后嘗試了很多次都不對,然后查找資料,最后找到一種方式:自己配置Keychains and Provisioning Profiles,這需要用到Keychains and Provisioning Profiles Plugin,具體的配置方法在鏈接里面可以找到。

SUCCEEDED!!! 終于構(gòu)建成功了,OMG!
但是打包成ipa失敗了:

然后參考了一步一步構(gòu)建iOS持續(xù)集成:Jenkins+GitLab+蒲公英+FTP,失敗原因是不支持Mac10.10以上的打包。所以需要用腳本來實(shí)現(xiàn)iOS打包:(請配置自己的workspace、scheme、CODE_SIGN_IDENTITY、ProvisioningProfile)
if [ -d "${WORKSPACE}/build" ]; then rm -rf ${WORKSPACE}/build; fi;
mkdir ${WORKSPACE}/build;
if [ -d "${WORKSPACE}/build/${BUILD_NUMBER}" ]; then rm -rf ${WORKSPACE}/build/${BUILD_NUMBER}; fi;
mkdir ${WORKSPACE}/build/${BUILD_NUMBER};
xcodebuild -workspace ${WORKSPACE}/Wecube.xcworkspace -scheme "Wecube" -sdk iphoneos archive -archivePath ${WORKSPACE}/build/${BUILD_NUMBER}/archive CODE_SIGN_IDENTITY="iPhone Distribution: ******"
xcodebuild -exportArchive -exportFormat IPA -archivePath ${WORKSPACE}/build/${BUILD_NUMBER}/archive.xcarchive -exportPath ${WORKSPACE}/build/${BUILD_NUMBER}/${JOB_NAME}.ipa -exportProvisioningProfile "XC Ad Hoc: com.***.***"

注:這里使用shell腳本打包,就把之前的Xcode插件配置全部刪掉了,如果有更好的方法請告知一聲,謝謝!
通過從別人那里的了解,mac 10.10以上可以打包ipa,見stackoverflow

通過這種方式果真也可以打包成ipa。
或者是這樣,不勾選Pack application and build .ipa,build成功之后增加一個Execute shell:
/bin/mkdir $(PWD)/build/OUTPUT
/usr/bin/xcrun -sdk iphoneos PackageApplication -v $(PWD)/build/MyApplication.app -o $(PWD)/build/OUTPUT/MyApplication.ipa
其中,MyApplication替換成你APP的名稱。
Homebrew
查閱資料的過程中,很多都使用了Homebrew這種Mac上的第三方庫管理工具,這使得mac上的包管理非常方便,具體安裝很簡單,只需在終端輸入:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
完成之后,在終端輸入brew help就可以查看到homebrew的用法:
Example usage:
brew [info | home | options ] [FORMULA...]
brew install FORMULA...
brew uninstall FORMULA...
brew search [foo]
brew list [FORMULA...]
brew update
brew upgrade [FORMULA...]
brew pin/unpin [FORMULA...]
Troubleshooting:
brew doctor
brew install -vd FORMULA
brew [--env | config]
Jenkins使用Homebrew安裝:
brew install jenkins
Fir.im以及蒲公英
Fir.im Jenkins插件的使用方法見Fir.im網(wǎng)站的博客傳送門;
至于上傳到蒲公英的使用方法下面擴(kuò)展鏈接上有,就不贅述。
以上就是我配置Jenkins的辛酸歷程,可能有好的方法,但是我已入坑,希望能幫助到遇到同樣問題的童鞋。
擴(kuò)展鏈接:
Jenkins+Github+Testflight在Mac下搭建持續(xù)集成環(huán)境
Jenkins、Git、CocoaPods、Fir.im 實(shí)現(xiàn) iOS 應(yīng)用持續(xù)集成