前言
Continuous Integration持續集成(簡稱CI)
CI是一種開發實踐。實踐應該包含3個基本模塊,一個可以自動構建的過程,自動編譯代碼,可以自動分發,部署和測試。一個代碼倉庫,SVN或者Git。最后一個是一個持續集成的服務器。通過持續集成,可以讓我們通過自動化等手段高頻率地去獲取產品反饋并響應反饋的過程。
作用:
1. 縮減開發周期,快速迭代版本
2. 自動化流水線操作帶來的高效
3. 隨時可部署
4. 極大程度避免低級錯誤
使用的是現在使用比較普遍的Jenkins。打包的對象是IOS。所以首先,你必須有一個Mac。
首先,我們來開始安裝Jenkins。從官網https://jenkins.io/上下載最新的pkg安裝包。
也可以下載jenkins.war, 然后運行Java -jar jenkins.war,進行安裝。
安裝完成之后,Safari可能會自動打開,如果沒有自動打開,打開瀏覽器,輸入http://localhost:8080
這個時候可能會報一個錯誤。連接不到服務器。出現這個問題的原因就是Java環境有問題,重新Java環境。
這個時候如果你重啟電腦會發現Jenkins給你新增了一個用戶,名字就叫Jenkins,不過這個時候你不知道密碼。你可能會去試密碼,肯定是是不對的,因為初始密碼很復雜。這個時候正確做法是打開http://localhost:8080會出現下圖的重設初始密碼的界面。
按照提示,找到密碼所在的文件,打開并復制粘貼,點擊continue。
輸入用戶名,密碼,郵件,就算安裝完成了。
每次進入Jenkins之前需要雙擊jenkins.war,然后再打開http://localhost:8080
安裝SVN插件
安裝Xcode插件
同安裝GitLab插件的步驟一樣,我們依次選擇系統管理->管理插件,在“可選插件”中選中“Xcode integration”安裝。
安裝下圖Keychains的插件
安裝完了這個,我們就可以配置一個構建項目了。
點擊新建好的項目,進來配置一下General參數。
這里可以設置包的保留天數還有天數。
接著設置源碼管理。
構建觸發器設置這里是設置自動化測試的地方。這里涉及的內容很多,暫時我也沒有深入研究,這里暫時先不設置。有自動化測試需求的可以好好研究研究這里的設置。
Poll SCM(poll source code management)? 輪詢源碼管理
需要設置源碼的路徑才能起到輪詢的效果。一般設置為類似結果: 0/5每5分鐘輪詢一次
Build periodically(定時build)
一般設置為類似: 00 20*? 每天 20點執行定時build 。當然兩者的設置都是一樣可以通用的。
Target是構建的目標。如果留空,那么就會構建所有的目標。
Clean before build這個選項建議勾選,構建之前最好Clean一下,至于為什么,我也不知道,我們開發之前打包的時候沒有Clean,有時候會出一些莫名其妙的bug。
Configuration此處填寫Release或者Debug,指的是IOS打包的類型,Debug版本還是Release版本。
Pack application and build .ipa需要打鉤,因為我們需要打包成ipa文件來安裝。
ipa filename pattern打包成ipa文件的名稱,就是最終的xxx.ipa。
Output directory打包輸出的路徑,我這里填寫的${WORKSPACE}指的是Jenkins下的workspace
Build output directory是構建后的輸出地址,我這里設置于ipa文件地址一致。
注意:如果你的項目是使用.workspace。請使用Xcode Workspace File,留空Xcode Project File.
Keychain path是固定填寫${HOME}/Library/Keychains/login.keychain
Keychain password指的是你的授權密碼,不是證書密碼。
${HOME}目錄指的是Jenkins的根目錄,如果你的jenkins是新裝的,你會發現Library目錄中壓根就沒有Keychains目錄。你需要去/Users/SvenWeng/Library目錄下把Keychains目錄復制過來。
注:這一步可以不需要配置。
點擊Apply,保存
這樣就可以就可以打包了。
可以查看打包信息,在最下面會有ipa文件所在的位置。