1.安裝jenkins:Terminal安裝
- 安裝HomeBrew (若已安裝跳過此步驟)
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - 安裝jenkins
brew install jenkins
2.啟動jenkins
- 啟動jenkins
jenkins - 通過 訪問地址 訪問jenkins
3.創(chuàng)建項目
-
新建項目
新建項目 -
創(chuàng)建一個自由風(fēng)格的軟件項目
創(chuàng)建一個自由風(fēng)格的軟件項目 -
項目基本信息
項目基本信息 -
源碼管理(待構(gòu)建項目采用Git進(jìn)行源碼管理)
源碼管理 -
構(gòu)建觸發(fā)器(采用 Poll SCM)
構(gòu)建觸發(fā)器(每周一至周五早上9點檢測一次Git版本是否更新)
Poll SCM 設(shè)置規(guī)則
MINUTE HOUR DOM MONTH DOW
第一個參數(shù)代表的是分鐘 minute,取值 0~59;
第二個參數(shù)代表的是小時 hour,取值 0~23;
第三個參數(shù)代表的是天 day,取值 1~31;
第四個參數(shù)代表的是月 month,取值 1~12;
第五個參數(shù)代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
-
增加構(gòu)建步驟(采用Execute shell)
增加構(gòu)建步驟 -
編寫Execute shell
編寫Execute shell - 腳本命令如下
PROJECT_NAME="工程名"
BUILD_CONFIGURATION="Release"
SCHEME_NAME="scheme的名字"
CODE_SIGN_DISTRIBUTION="簽名證書"
xcodebuild clean -workspace $WORKSPACE/$PROJECT_NAME/$PROJECT_NAME.xcworkspace -configuration "$BUILD_CONFIGURATION" -scheme "$SCHEME_NAME"
xcodebuild archive -archivePath "$WORKSPACE/build/$PROJECT_NAME.xcarchive" -workspace $WORKSPACE/$PROJECT_NAME/$PROJECT_NAME.xcworkspace -sdk iphoneos -scheme "$SCHEME_NAME" -configuration "$BUILD_CONFIGURATION" -CODE_SIGN_IDENTITY="$CODE_SIGN_DISTRIBUTION"
xcodebuild -exportArchive -archivePath "$WORKSPACE/build/$PROJECT_NAME.xcarchive" -exportPath "$WORKSPACE/build/" -exportOptionsPlist "$WORKSPACE/build/ExportOptions.plist" -allowProvisioningUpdates
rm -f $WORKSPACE/build/${JOB_NAME}@*.ipa
mv $WORKSPACE/build/$SCHEME_NAME.ipa $WORKSPACE/build/${JOB_NAME}@${BUILD_ID}.ipa
curl -F "file=@$WORKSPACE/build/${JOB_NAME}@${BUILD_ID}.ipa" -F "uKey=替換成你的uKey" -F "_api_key=替換成你的apiKey" https://www.pgyer.com/apiv1/app/upload
- 保存
4.導(dǎo)出ExportOptions.plist
- Xcode 9 默認(rèn)不允許訪問鑰匙串的內(nèi)容,必須要設(shè)置 allowProvisioningUpdates 才會允許訪問,Jenkins的Xcode插件目前無法支持此項完成打包流程。
解決辦法:
- 使用Xcode手動打包,在導(dǎo)出的文件夾中找到ExportOptions.plist文件。
- 打開ExportOptions.plist文件,設(shè)置compileBitcode 為NO。
- 檢查ExportOptions.plist文件下的provisioningProfiles是否設(shè)置正確。
- 將ExportOptions.plist文件放在jenkins主目錄/jobs/Project/workspace/build目錄下。






