碼字不易,轉(zhuǎn)載請(qǐng)注明出處。
前言
iOS常用的持續(xù)集成工具有Jenkins、Travis CI、Xcode server等,當(dāng)然我們選擇最簡(jiǎn)單的Xcode server。
OS X server中集成了git版本管理功能,Xcode server持續(xù)集成服務(wù),還有wiki知識(shí)庫(kù)管理等,你甚至還可以拿它搭建一個(gè)網(wǎng)站服務(wù)器。
在持續(xù)集成過(guò)程中你可以直接使用os x server 的git版本管理功能,將代碼提交至自己搭建的OS X server服務(wù)器。也可以將代碼提交至其他git版本管理倉(cāng)庫(kù)中(比如GitHub)。
設(shè)備
一臺(tái)Git服務(wù)器,可以用GitHub、oschina等。
一臺(tái)裝OS X Server的服務(wù)器,必須為MAC,下文簡(jiǎn)稱(chēng) Xcode Server服務(wù)器。
若干MAC做客戶(hù)端,下文簡(jiǎn)稱(chēng)客戶(hù)端。
若干臺(tái)iOS測(cè)試機(jī)。
一、配置Xcode Server服務(wù)器
1、apple給開(kāi)發(fā)者可以憑開(kāi)發(fā)者賬號(hào)免費(fèi)兌換os x server。免費(fèi)兌換地址
https://developer.apple.com/osx/download/
2、下載os x server后點(diǎn)擊安裝。
3、打開(kāi) Server 應(yīng)用,以查看 OS X Server 中提供的服務(wù)列表。選擇“Xcode”。
點(diǎn)按“選取 Xcode”按鈕,然后在“應(yīng)用程序”文件夾中選擇“Xcode”。Xcode 服務(wù)將自動(dòng)啟動(dòng)。
4、開(kāi)發(fā)者團(tuán)隊(duì)
在此處千萬(wàn)不要添加開(kāi)發(fā)者賬號(hào)
5、添加git存儲(chǔ)庫(kù),如果用Github、oschina或者自己搭建的git服務(wù)器則不需要此步驟。
Xcode 服務(wù) Bot 將從源 Git 儲(chǔ)存庫(kù)訪問(wèn)項(xiàng)目和代碼。
點(diǎn)按“儲(chǔ)存庫(kù)”,然后點(diǎn)按 添加按鈕。選取 Git 儲(chǔ)存庫(kù)的名稱(chēng),然后點(diǎn)按“創(chuàng)建”。
儲(chǔ)存庫(kù)的 URL 基于服務(wù)器主機(jī)名稱(chēng)和儲(chǔ)存庫(kù)名稱(chēng)。例如,儲(chǔ)存庫(kù)的 URL 將為 https://myserver.example.com/git/Mac_Calc.git。
二、配置Xcode客戶(hù)端,創(chuàng)建bot
1、打開(kāi)xcode>product>create bot
2、填寫(xiě)bot名稱(chēng),選擇Xcode Server服務(wù)器
3、Actions:選擇執(zhí)行的動(dòng)作
? ?a、對(duì)代碼進(jìn)行靜態(tài)分析
? ?b、對(duì)代碼進(jìn)行單元測(cè)試
? ?c、生成archive包(可以選擇是否生成用戶(hù)安裝包)
4、cleaning:選擇在何時(shí)清理項(xiàng)目,有幾個(gè)選項(xiàng)(總是、每天、每周、從不)
5、configuration:選擇編譯配置(Debug、release)
6、選擇在何時(shí)Xcode Server服務(wù)器開(kāi)始持續(xù)集成,有幾個(gè)選項(xiàng)(定時(shí)、在有新代碼提交時(shí)、手動(dòng))
7、Before Integration 在開(kāi)始持續(xù)集成前執(zhí)行的腳本
8、 After Integration在持續(xù)集成后執(zhí)行的腳本
9、至此,創(chuàng)建bot完成
三、Xcode Server服務(wù)器證書(shū)配置
1、配置Certificates
打開(kāi)鑰匙串,將iPhone Developer: xxx和iPhone Distribution:xxx導(dǎo)出為.p12文件
將導(dǎo)出的.p12文件 導(dǎo)入裝OS X Server的MAC的鑰匙串中,這次需導(dǎo)入到鑰匙串系統(tǒng)中,而不是登錄中
持續(xù)集成生成包時(shí)證書(shū)由/usr/bin/codesign管理,所以需將codesign添加為允許訪問(wèn)證書(shū)的程序
在顯示簡(jiǎn)介中選擇 訪問(wèn)控制 >始終通過(guò)這些應(yīng)用程序訪問(wèn) 中點(diǎn)擊加號(hào),開(kāi)始選擇/usr/bin/codesign程序。選擇完成后點(diǎn)擊確認(rèn)。由于usr是隱藏文件,在選擇時(shí)使用快捷鍵 CMD+SHIFT+. 顯示隱藏文件
按照以上步驟將iPhone Distribution:xxx的訪問(wèn)控制,也添加/usr/bin/codesign程序。
2、將Provisioning Profiles拷貝到Xcode Server
Xcode客戶(hù)端描述文件保存在以下文件夾中
User/Library/MobileDevice/ProvisioningProfiles
Xcode Server服務(wù)器描述文件保存在以下文件夾中
/Library/Developer/XcodeServer/ProvisioningProfiles
將Xcode客戶(hù)端路徑下的證書(shū)保存至Xcode Server服務(wù)器對(duì)應(yīng)路徑下
3、在上傳代碼到倉(cāng)庫(kù)時(shí)需選擇正確的證書(shū)和描述文件,如下圖
四、開(kāi)始持續(xù)集成
點(diǎn)擊integrate開(kāi)始持續(xù)集成
正常情況等待幾分鐘會(huì)看到下面的界面,說(shuō)明持續(xù)集成完成。可以將ipa包安裝到手機(jī),也可以將Archive上傳到appStore。當(dāng)然也可以直接用iPhone Safari訪問(wèn)xcode server進(jìn)行安裝。
iOS Xcode server 持續(xù)集成(二)集成后ipa包自動(dòng)上傳蒲公英 集成前執(zhí)行pod install