一、簡述
Jenkins 是一個廣泛用於持續構建的視覺化 web 工具,持續構建即各種專案的”自動化”編譯、打包、分發部署。Jenkins 可以很好的支援各種語言(比如:java, c#, php等)的專案構建,也完全相容 ant、maven、gradle 等多種第三方構建工具,同時跟 svn、git 能無縫整合,也支援直接與知名原始碼託管網站,比如 github、bitbucket 直接整合。
二、Jenkins 的安裝
1、Jenkins 本身是用 Java 語言開發的,所以安裝 Jenkins 之前,要保證你的電腦有 jdk,如果沒有,可到如下連結下載安裝:www.oracle.com/technetwork…


2、進入 Jenkins 的官網 jenkins-ci.org/ ,選擇 Mac 直接安裝。安裝成功後。開啟 http://localhost 檢視是否可正常訪問。

3、安裝完成後,會直接跳轉到如下介面,如果沒有跳轉或者跳轉失敗,可通過執行如下命令 "open /Applications/Jenkins/jenkins.war " 進入到該介面:

4、按照提示,找到 /Users/Shared/Jenkins/Home/ 這個目錄下,這個目錄雖然是共享目錄,但是有許可權的,非 Jenkins 使用者 /secrets/ 目錄是沒有讀寫許可權的。

5、修改許可權開啟 initialAdminPassword 檔案,複製出密碼,就可以填到網頁上去重置密碼了。如下圖

6、安裝外掛,外掛安裝完成後,可能會卡在如下介面,不會自動跳轉,重新整理下介面即可:



三、Jenkins 的使用
1、由於安裝過程中,有些外掛可能會安裝失敗,通過如下方式檢查所需的外掛是否安裝成功。 通過“系統管理->管理外掛->已安裝“,檢查如下所需的外掛是否安裝成功: <1> Xcode integration ( Xcode 外掛) <2> Credentials Plugin (簽名證照管理外掛) <3> Keychains and Provisioning Profiles Management (簽名證照管理外掛) <4> GitLab Plugin <5> Gitlab Hook Plugin <6> Post-Build Script Plug-in <7> Email Extension Plugin


2、構建專案



點選新建好的專案,進來配置一下 General 引數。

接著設定原始碼管理。
由於現在用到的是 GitLab,先配置 SSH Key,在 Jenkins 的證照管理中新增 SSH。在 Jenkins 管理頁面,選擇 “Credentials” ,然後選擇 “Global credentials (unrestricted)” ,點選 “Add Credentials”,如下圖所示,我們填寫自己的 SSH 資訊,然後點選 “Save” ,這樣就把 SSH 新增到 Jenkins 的全域性域中去了。
重點!!重點!!


構建環境設定 iOS 打包需要簽名檔案和證照,所以這部分我們勾選 “Keychains and Code Signing Identities” 和 “Mobile Provisioning Profiles”。 這裡我們又需要用到 Jenkins 的外掛,在系統管理頁面,選擇 “Keychains and Provisioning Profiles Management”。


點選 Add Code Signing Identity 新增對應的簽名
3.上傳 Provisioning Profiles 檔案,Xcode 的 profile 存放在~/Library/MobileDevice/Provisioning Profiles/ 中

4、在系統管理->系統設定->Xcode Builder 中設定相關證照

五、回到專案配置->構建




六、構建成功後使用 fir 上傳

關於 fir token 的獲取,可以登入 fir, 進入個人中心生成 token
構建
返回專案首頁,點選構建即可自動化打包上傳

如果構建失敗,可以在構建項的 Console Output 中檢視構建資訊
