一切的一切都源自於「懶」,iOS開發過程當中固定時間版本Release發佈,本身手動Xcode Archive一下也不以爲什麼,但臨時的QA來要求測試,會令我這種「易煩躁」的開發者以爲麻煩,甚至也可能打斷我當前的手頭工做,由於極有可能你代碼擼了一半未測試及未提交,卻須要打包一個版本庫中小修小改的版本。因此只能遍尋方法來解決這種問題,解脫本身。html
其實不管哪一種你但願開發不受打擾的打包方式,前提都是你須要另外一臺專門的 Mac 打包設備。ios
大體親測了三種打包方式: Jenkins + Xcode plugin, Mac OSX Server + Xcode Bot, Shell命令腳本,這裏大體記錄下其中的一些過程和坑。shell
安裝 Jenkins , 兩種方式: 官網下載pkg 或 brew, 這裏我直接用 brew 安裝的xcode
安裝完成以後,直接終端裏 jenkins 就能啓動,默認端口 8080,你能夠在 safari 中經過 http://localhost:8080/ 來進行訪問app
若是須要中止 Jenkins 服務的話,能夠直接經過訪問 http://localhost:8080/exit 來完成工具
接下來講到 Jenkins 的配置: 須要在 Manage Jenkins 中的 Manage Plugins 查找並安裝 Git plugin, Keychains and Provisioning Profiles Management, Xcode integration</p>測試
以後仍是在 Manage Jenkins 下 會有Keychains and Provisioning Profiles Management 這是一個證書管理工具,你須要將一些打包所須要的證書信息(包括你鑰匙圈中證書所屬的keychain以及provision)添加到這裏ui
隨後開始建立項目,以前添加的 Git plugin 信息,如圖:spa
Build Environment 中的 Keychains and Code Signing Identifies 對應選擇以前在 Keychains and Provisioning Profiles Management 中 添加的對應信息,如圖: Mobile Provision Profile 中對應選擇以前在 Keychains and Provisioning Profiles Management 中 添加的對應信息,如圖:code
Xcode 部分按照本身的需求勾選填寫本身的項目信息,值得注意的是,項目中有Cocoapods,必定要填寫 workspace 的 xcworkspace 文件(個人項目Git中是帶有Pods文件夾的,若是隻帶有Podfile文件,而忽略Pods文件夾的話,還須要 Add build step 中添加 Execute shell來執行對應的pod install 或 update 等操做),如圖:
至此,Jenkins的配置部分基本就結束了,這裏值得注意的有幾點:
接下來說兩個Xcode中會遇到的問題:>
這裏我並無去作和蒲公英或Fir的集成,若是有須要能夠看一下下面兩篇參考: