碼字不易,轉載請注明出處。
前言
iOS常用的持續(xù)集成工具有Jenkins、Travis CI、Xcode server等,當然我們選擇最簡單的Xcode server。
OS X server中集成了git版本管理功能,Xcode server持續(xù)集成服務,還有wiki知識庫管理等,你甚至還可以拿它搭建一個網(wǎng)站服務器。
在持續(xù)集成過程中你可以直接使用os x server 的git版本管理功能,將代碼提交至自己搭建的OS X server服務器。也可以將代碼提交至其他git版本管理倉庫中(比如GitHub)。
設備
一臺Git服務器,可以用GitHub、oschina等。
一臺裝OS X Server的服務器,必須為MAC,下文簡稱 Xcode Server服務器。
若干MAC做客戶端,下文簡稱客戶端。
若干臺iOS測試機。

一、配置Xcode Server服務器
1、apple給開發(fā)者可以憑開發(fā)者賬號免費兌換os x server。免費兌換地址
https://developer.apple.com/osx/download/
2、下載os x server后點擊安裝。
3、打開 Server 應用,以查看 OS X Server 中提供的服務列表。選擇“Xcode”。
點按“選取 Xcode”按鈕,然后在“應用程序”文件夾中選擇“Xcode”。Xcode 服務將自動啟動。

4、開發(fā)者團隊
在此處千萬不要添加開發(fā)者賬號

5、添加git存儲庫,如果用Github、oschina或者自己搭建的git服務器則不需要此步驟。
Xcode 服務 Bot 將從源 Git 儲存庫訪問項目和代碼。
點按“儲存庫”,然后點按 添加按鈕。選取 Git 儲存庫的名稱,然后點按“創(chuàng)建”。
儲存庫的 URL 基于服務器主機名稱和儲存庫名稱。例如,儲存庫的 URL 將為 https://myserver.example.com/git/Mac_Calc.git。

二、配置Xcode客戶端,創(chuàng)建bot
1、打開xcode>product>create bot
2、填寫bot名稱,選擇Xcode Server服務器

3、Actions:選擇執(zhí)行的動作
? ?a、對代碼進行靜態(tài)分析
? ?b、對代碼進行單元測試
? ?c、生成archive包(可以選擇是否生成用戶安裝包)
4、cleaning:選擇在何時清理項目,有幾個選項(總是、每天、每周、從不)
5、configuration:選擇編譯配置(Debug、release)

6、選擇在何時Xcode Server服務器開始持續(xù)集成,有幾個選項(定時、在有新代碼提交時、手動)

7、Before Integration 在開始持續(xù)集成前執(zhí)行的腳本
8、 After Integration在持續(xù)集成后執(zhí)行的腳本

9、至此,創(chuàng)建bot完成
三、Xcode Server服務器證書配置
1、配置Certificates
打開鑰匙串,將iPhone Developer: xxx和iPhone Distribution:xxx導出為.p12文件

將導出的.p12文件 導入裝OS X Server的MAC的鑰匙串中,這次需導入到鑰匙串系統(tǒng)中,而不是登錄中

持續(xù)集成生成包時證書由/usr/bin/codesign管理,所以需將codesign添加為允許訪問證書的程序

在顯示簡介中選擇 訪問控制 >始終通過這些應用程序訪問 中點擊加號,開始選擇/usr/bin/codesign程序。選擇完成后點擊確認。由于usr是隱藏文件,在選擇時使用快捷鍵 CMD+SHIFT+. 顯示隱藏文件

按照以上步驟將iPhone Distribution:xxx的訪問控制,也添加/usr/bin/codesign程序。
2、將Provisioning Profiles拷貝到Xcode Server
Xcode客戶端描述文件保存在以下文件夾中
User/Library/MobileDevice/ProvisioningProfiles
Xcode Server服務器描述文件保存在以下文件夾中
/Library/Developer/XcodeServer/ProvisioningProfiles
將Xcode客戶端路徑下的證書保存至Xcode Server服務器對應路徑下
3、在上傳代碼到倉庫時需選擇正確的證書和描述文件,如下圖

四、開始持續(xù)集成
點擊integrate開始持續(xù)集成

正常情況等待幾分鐘會看到下面的界面,說明持續(xù)集成完成??梢詫pa包安裝到手機,也可以將Archive上傳到appStore。當然也可以直接用iPhone Safari訪問xcode server進行安裝。

iOS Xcode server 持續(xù)集成(二)集成后ipa包自動上傳蒲公英 集成前執(zhí)行pod install