使用Jenkins搭建iOS的CI服務器(一)

系統:OS X 10.9.2
Xcode版本:5.1.1
Jenkins版本:1.580 

1、Jenkins的安裝:
     Jenkins在Mac環境下(需要JDK環境),可以直接到官網(http://jenkins-ci.org/)下載pkg安裝文件,在網頁的最右邊選擇Mac OS X版本即可:

也可以下載war包即可,如果下載的時pkg雙擊運行即可安裝,如果是war包則需要使用以下命令進行安裝:
     java -jar jenkins.war --httpPort=8080
httpPort指定的就是Jenkins所使用的http端口,這裏指定8080,可根據具體情況修改。待Jenkins啓動後,打開瀏覽器輸入地址
便可以打開Jenkins管理界面,如果用的pkg安裝的,安裝完成後,將會自動打開Jenkins管理界面,如下圖:

2、Jenkins的配置:
     1、Jenkins的運行權限配置
     上述過程成功說明Jenkins的已經安裝完成,但是Jenkins現在不是運行在root權限下,也不是運行在你當前用戶下,因此無論如何操作都會有諸多阻擾,各種報錯,下面我們把Jenkins的進程移動到我們自己的賬號下就行了。Kenkins在安裝完成後會在/Library/LaunchDaemons/ 目錄下創建一個org.jenkins-ci.plist文件,這個文件決定了Jenkins進程運行的用戶組和用戶,如圖:


上圖是我修改後的內容,進入org.jenkins-ci.plist文件所在目錄
$ cd /Library/LaunchDaemons
然後我們就可以修改了,那麼使用vim打開該文件進行修改
$ sudo vim  org.jenkins-ci.plist
修改完配置文件後,我們需要修改Jenkins的owner(其中路徑是Jenkins的安裝目錄)
$ sudo chown -R cvte:staff /Users/Shared/Jenkins/
修改完成,啓動Jenkins
$ sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist


     2、XCode相關的插件安裝
     Jenkins默認情況下XCode相關插件都沒有安裝的的,需要我們自己手動安裝,以git插件爲例,熟悉Jenkins的插件安裝過程。在Jenkins的首頁的左邊菜單依次選擇“系統管理”—“管理插件”,然在管理插件界面的頂部,選擇“可選插件”,在搜索框中輸入“git”,便可以找git Plugin插件,選中後,點擊下面“下載待重啓後安裝”。點擊後Jenkins將自動檢測網絡狀態然後下載和安裝,安裝後將自動重啓Jenkins。Jenkins中所有插件安裝完成後,都需要重啓Jenkins纔可以使用。按照上述方法可以將XCode、Github、testflight、FTP、Email Extension、cocoapods插件安裝好,後續便可以使用,如果後面不需要用到的也可以不安裝看個人需求。

     2、項目的構建
          準備工作我們都已經OK了,下面我們就可以創建一個新的任務用來構建我們的iOS項目,在Jenkins的主界面的左側菜單點擊“新建”,填寫任務名稱後,選擇第一個“構建一個自由風格的軟件項目”,如圖:

點擊OK按鈕後進入到項目構建配置界面,如下圖:


項目構建配置主要分:項目信息描述、源碼管理、構建觸發器、構建環境、構建、構建後的操作;

     項目信息描述:該項可以修改任務名稱,和當前任務描述信息,其他配置項默認即可,也可以點擊後面問號按鈕查看說明;

     源碼管理:該項用來配置當前任務從哪個地方獲取源碼,這裏我們選擇Git,如圖:

               Repository URL中天下項目的git地址,如果項目是公開,則Credentials項不需要填寫,否則需要通過Credentials項下的Add按鈕進行認證權限的添加如圖:

          其中Kind有多種認證方法,我們選擇使用用戶名和密碼就可以了,填寫好用戶和密碼,點擊下面的Add按鈕,完成後剛纔的認證方式將出現在Credentials的下拉
選擇框中。Branches to build項用來選擇git上的分支的,一般默認選擇master分支即可。
     到此我們源碼管理項,就配置完成了,點擊網頁最下面的保存按鈕,然後可以點擊左側菜單項“立即構建”,Jenkins便會進行構建過程,因爲我們後面還有很多項
沒有配置,所以Jenkins從git上下載代碼後就會自動停止,你可以點擊左側菜單下面的“Build History”欄的編譯記錄,然後在點擊Console Output項,可以查看
Jenkins的運行過程的log輸出如圖:


     構建觸發器 :依次點擊“返回到工程” —“配置”繼續後面“構建觸發器”項的配置,構建觸發器用來告訴Jenkins在什麼情況下,進行自動構建,剛纔的是屬於我們手動進行項目構建的,Jenkins提供以下幾種自動構建方式,可以進行多選如圖:

     1、觸發遠程構建 (例如,使用腳本)
     2、Build after other projects are built【是在某個Job完成之後再進行構建,勾選後填入你需要的Job名稱就可以了
     3、Build periodically     【定時build項目工程
     4、Build when a change is pushed to GitHub      【當Git上有代碼更新了就觸發構建】
     5、Poll SCM     【定時檢測工程的版本
     日程表的填寫格式在後麪點擊?後會看到,這裏用的是cron的語法。值得注意的是這裏的時間是以本地時間來計算的。

     構建:該項將配置XCode的編譯過程,如圖我們選擇XCode

選擇Xcode後出現界面如下圖:


默認情況下不需要做任何配置,Jenkins便可以執行編譯過程,由於我的這個項目的工程文件沒有在git的根目錄下,所以我在Advanced Xcode build options項中的Xcode Project Directory中填寫了工程文件的路徑如圖:

 點擊保存,然後再執行“立即構建”,可以看到如下圖的輸出:


從上面log可以看出,下載的代碼將放在/Users/Shared/Jenkins/Home/jobs/CIDemo/workspace/GitlabDemo目錄下,可以在該目錄下找到APP文件的輸出,因爲我們沒有配置輸出ipa文件,所以默認是不會生成ipa文件的。下面我們將配置一些信息,將在我們制定的目錄下生成ipa和dSYM文件。點擊General build settings後的Settings按鈕,進行如下配置:

具體項說明,可以點擊後面的?按鈕查看說明,下面的Pack application and build .ipa選擇是否生成ipa文件,下面是ipa文件名,和輸出路徑的配置,我們使用默認的文件名,目錄放在工程目錄下的/build/ipa-build/目錄下,之所以放在這個目錄下,是因爲後面將用一些腳本,腳本文件會用到該目錄(也是可以修改的只要統一就行)。點擊Code signing & OS X keychain options項後的Code signing settings按鈕,進行簽名證書的相關配置,這裏也可以在下拉框中進行選擇,需要在系統設置中進行配置,後面將會介紹到,最後一項是用戶密碼如下圖:


上述設置完成後,點擊保存,在進行一次構建即可在我們配置的目錄下生成ipa和dSYM文件了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章