Jenkins + Shell命令 + 蒲公英 iOS項目持續(xù)集成

1.安裝jenkins:Terminal安裝

  • 安裝HomeBrew (若已安裝跳過此步驟)
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 安裝jenkins
    brew install jenkins

2.啟動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目錄下。

5.立即構(gòu)建

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容