Xcode 9將Xcode Server集成進來了,這是Xcode一個新特性,不用去單獨下載server了,server可以用來做CI、自動化Test等等。這里主要介紹搭建CI,相當簡單
打開開關,新建一個server
可以設置集成超時時間
服務器啟動了,就可以創建機器人了,機器人就是執行某些任務的一個單元
在創建的過程中注意,如果想要利用Xcode從Git上拉代碼,需要登錄。登錄方式有三種,第一種最簡單,直接輸入用戶名密碼。推薦第三種,但是需要設置SSH,配置的過程自行百度。
登錄成功就可以選擇分支了
下一步需要重點說明,Export方式有四種,建議選擇第四種,讀取自己寫的exportOptionsPlist,第三種需要配置provisioningProfiles,未實驗成功。
在Xcode9下,exportOptionsPlist的內容會有變化,需要增加provisioningProfiles這一個字典,字典的key就是bundleId,value就是provisioning profile文件名(和Xcode的Build Setting選項下的一致)
集成構建的周期
建議手動管理證書
這里注意,環境變量一定要填寫,否則pod install會報錯。PATH對應的值需要打開終端,敲入以下命令獲取
echo $PATH
構建動作包括構建前、后和郵件通知。
構建前的腳本就是pod install,需要cd到項目目錄下再執行
構建后腳本就是上傳ipa至fir(需要安裝fir-cli,傳送門https://github.com/FIRHQ/fir-cli/blob/master/doc/install.md)
這里有一個問題,就是如果構建失敗(包括腳本執行失敗)Xcode會刪除.xcArchieve和.ipa等文件,所以我將ipa文件拷貝到單獨的文件夾,再上傳。
這里是腳本內容
#!/bin/sh export LC_ALL="en_US.UTF-8" # 進入工程根目錄 IPA_NAME=$(basename "${XCS_ARCHIVE%.*}".ipa) IPA_PATH="${XCS_OUTPUT_DIR}/ExportedProduct/${IPA_NAME}" echo ${IPA_PATH} rm -r -f ${HOME}/Desktop/Package/${IPA_NAME} cp -R ${IPA_PATH} ${HOME}/Desktop/Package #上傳至fir fir publish ${HOME}/Desktop/Package/${IPA_NAME} -Q -T 863efefc********************* #上傳至蒲公英 curl -F "file=@${IPA_PATH}" -F "uKey=******************2f5e99f3a7495" -F "_api_key=******************eb2d5cb44d93183" http://www.pgyer.com/apiv1/app/upload
新建一個周期郵件在構建完成后發送。點擊Create,就完成了,趕緊去構建項目吧!
如果構建失敗...