說明
目錄
開始
設(shè)置Xcode Server
管理和監(jiān)測(cè)Bot
使用Xcode進(jìn)行持續(xù)集成
在Xcode中躏结,持續(xù)集成是自動(dòng)的并且簡(jiǎn)化Mac和iOS應(yīng)用程序的構(gòu)建却盘、分析、測(cè)試和打包的過程媳拴,確保應(yīng)用程序永遠(yuǎn)保持可發(fā)布狀態(tài)黄橘。在持續(xù)集成工作流中,使用Mac上的Xcode本地編寫應(yīng)用并將代碼遷入一個(gè)代碼倉庫中屈溉。然后將代碼發(fā)送到Xcode Server進(jìn)行處理塞关,Xcode Server是由OS X Server提供的一個(gè)服務(wù)。在開發(fā)Mac的Xcode中子巾,將運(yùn)行在server上的bot程序設(shè)置好帆赢。這些bot程序會(huì)使用倉庫中的源代碼來處理你的APP,并且報(bào)告結(jié)果线梗。每一次運(yùn)行bot程序都稱為一次集成椰于,這些行為在應(yīng)用程序的整個(gè)開發(fā)生命周期中定期進(jìn)行。參見圖1-1:
持續(xù)集成的目標(biāo)是提高軟件質(zhì)量缠导,以下是一些實(shí)現(xiàn)成果:
- 快速廉羔、便捷并且及早的捕獲問題。bot集成程序可以設(shè)置為當(dāng)你每次向代碼倉庫提交代碼時(shí)、特定計(jì)劃憋他、或者手動(dòng)啟動(dòng)時(shí)執(zhí)行孩饼。這允許你在整個(gè)開發(fā)過程中識(shí)別代碼問題,發(fā)生問題時(shí)解決問題竹挡,防止小問題導(dǎo)致大的問題镀娶。
- 加強(qiáng)協(xié)作。在整個(gè)持續(xù)集成工作流中揪罕,你的整個(gè)團(tuán)隊(duì)(或者選定的個(gè)人)可以創(chuàng)建bot,觸發(fā)集成梯码,查看動(dòng)態(tài)和下載構(gòu)建文件。如果出現(xiàn)問題好啰,可以自動(dòng)通知編寫出錯(cuò)代碼的成員轩娶。
- 擴(kuò)大測(cè)試覆蓋面。在本地工作時(shí)框往,在具有多個(gè)配置的多個(gè)設(shè)備上測(cè)試APP是一個(gè)手動(dòng)的并且時(shí)間密集的過程鳄抒。在持續(xù)集成工作流中,這卻是自動(dòng)和簡(jiǎn)單的椰弊。只需要將多個(gè)設(shè)備綁定到服務(wù)器上许溅,或者配置你的工作流使用不同的模擬器,相應(yīng)地配置bot秉版,讓系統(tǒng)為你完成測(cè)試工作贤重。
- 隨著時(shí)間推移生成構(gòu)建版本和測(cè)試的統(tǒng)計(jì)信息。在持續(xù)集成工作流中清焕,所有的進(jìn)程和錯(cuò)誤都會(huì)生成日志并蝗。在任何給定時(shí)間內(nèi),你都可以看到你的app進(jìn)行到開發(fā)過程的哪一步以及她的成長(zhǎng)過程耐朴。
初見
按照本文檔中概述的步驟借卧,使用Xcode Server搭建一個(gè)持續(xù)集成工作流盹憎。
安裝并設(shè)置Xcode Server
實(shí)現(xiàn)持續(xù)集成工作流的第一步是安裝和配置Xcode Server以執(zhí)行你的集成筛峭。即使你從未設(shè)置過服務(wù)器,你也會(huì)發(fā)現(xiàn)設(shè)置OS X Server并且開啟Xcode Server是快速和簡(jiǎn)單的陪每。
相關(guān)章節(jié)
連接Xcode Server到源代碼倉庫
為了讓bot能夠在Xcode Server進(jìn)行項(xiàng)目的集成影晓,bot必須能夠訪問項(xiàng)目的源代碼。Xcode Server支持兩種流行的源代碼控制系統(tǒng):Git和SVN檩禾。在你開發(fā)的Mac上挂签,你編寫源代碼并且推送到源代碼倉庫。這個(gè)倉庫可以放置在遠(yuǎn)程服務(wù)器(Git或SVN)或者OS X Server(僅Git)盼产。每當(dāng)執(zhí)行集成操作饵婆,bot都會(huì)拉取你最近的源代碼。參見圖1-2:
相關(guān)章節(jié)
創(chuàng)建并執(zhí)行bot
bot處于Xcode Server自動(dòng)化工作流的中心戏售。bot通過你設(shè)置的Scheme來構(gòu)建和測(cè)試你的項(xiàng)目侨核。由于Xcode Server能夠訪問項(xiàng)目的源代碼倉庫草穆,因此你可以創(chuàng)建bot,并設(shè)置為定期搓译、每次提交代碼時(shí)或者手動(dòng)執(zhí)行悲柱。你也可以配置bot在集成成功或失敗時(shí)發(fā)送Email通知。Xcode Server同時(shí)允許bot執(zhí)行性能測(cè)試和啟動(dòng)集成前后觸發(fā)器些己。
相關(guān)章節(jié)
監(jiān)控并管理Bot
Xcode Server通過開發(fā)Mac上的Xcode,瀏覽器和Email通知向你提供集成狀態(tài)的詳細(xì)信息豌鸡。在你開發(fā)Mac上的Xcode報(bào)告導(dǎo)航欄中,你可以管理bot段标,查看測(cè)試結(jié)果涯冠,讀取集成日志,執(zhí)行或取消集成逼庞,下載產(chǎn)品歸檔文件功偿。Xcode Server還托管了一個(gè)網(wǎng)站,在這個(gè)網(wǎng)站你和你的團(tuán)隊(duì)成員可以通過瀏覽器查看bot程序狀態(tài)往堡,下載文件和產(chǎn)品械荷。bot還可被設(shè)置在集成成功、失敗或者發(fā)生警告時(shí)發(fā)送Email通知虑灰。參見圖1-3
相關(guān)章節(jié)
從報(bào)告導(dǎo)航欄管理和監(jiān)測(cè)bot,從瀏覽器監(jiān)控bot-中文文檔(TODO)
先決條件
在設(shè)置一個(gè)持續(xù)集成工作流時(shí)穆咐,最好了解如何測(cè)試和調(diào)試 Xcode應(yīng)用颤诀。測(cè)試和調(diào)試相關(guān)信息,參見使用Xcode進(jìn)行測(cè)試对湃,使用Xcode進(jìn)行調(diào)試和Instruments用戶指南
其余參考
Xcode Server web API允許集成你自己的工具和進(jìn)程來擴(kuò)展Xcode Server的能力崖叫。參考文檔參見Xcode Server API Reference。
OS X Server其余功能參考OS X Server: Advanced Administration