iOS Xcode Server 持續(xù)集成(一)(環(huán)境配置)

碼字不易,轉(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,578評(píng)論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,701評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,691評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,974評(píng)論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,694評(píng)論 6 413
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 56,026評(píng)論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,015評(píng)論 3 450
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,193評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,719評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,668評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,151評(píng)論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,846評(píng)論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,255評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,592評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,394評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,635評(píng)論 2 380

推薦閱讀更多精彩內(nèi)容

  • 說(shuō)到持續(xù)集成環(huán)境,當(dāng)然少不了大名鼎鼎的Jenkins,當(dāng)然在蘋(píng)果的Mac平臺(tái)上,也可以搭建Jenkins持續(xù)集成環(huán)...
    KevinTing閱讀 5,421評(píng)論 1 10
  • 說(shuō)明由于簡(jiǎn)書(shū)添加圖片太麻煩,自己托管到了github,同時(shí)制作了gitbook。 目錄 開(kāi)始 關(guān)于Xcode中的持...
    小小廚師閱讀 915評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,836評(píng)論 18 139
  • 說(shuō)明由于簡(jiǎn)書(shū)添加圖片太麻煩,自己托管到了github,同時(shí)制作了gitbook。 目錄 開(kāi)始 關(guān)于Xcode中的持...
    小小廚師閱讀 845評(píng)論 0 1
  • 剛剛錯(cuò)把開(kāi)機(jī)密碼輸成了用戶(hù)名,也就是我的工號(hào)。已經(jīng)能如此嫻熟無(wú)疑是的輸出SAP的工號(hào)了。 突然意識(shí)到,現(xiàn)在我們的一...
    山溪閱讀 293評(píng)論 0 0