ios 自动打包命令_【实践】iOS使用Jenkins实现自动化打包并上传蒲公英
作者:怪獸monster
鏈接:https://www.jianshu.com/p/f4a0093d3bed
一、安裝本地Jenkins
1、通過Home brew安裝本地Jenkins
brew install Jenkins
沒安裝Home Brew的可使用命令自行安裝
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2、啟動Jenkins
終端輸入命令啟動Jenkins
jenkins
待Jenkins啟動后,瀏覽器打開:http://localhost:8080/
3、解鎖Jenkins
按照提示到文件所在目錄并拷貝初始密碼,解鎖Jenkins。
4、安裝插件
安裝插件.png
可以選擇推薦的插件,也可自行選擇插件安裝。
5、設置登錄賬號密碼
設置登錄賬號密碼.png
二、配置Jenkins
1、安裝插件
到系統管理-->插件管理-->可選插件中,搜索安裝以下插件:Keychains and Provisioning Profiles Management(用來管理本地keychain和iOS證書)Xcode integration (用于xcode構建)
插件安裝.png
搜索安裝插件.png
2、配置證書
插件安裝完成后,在系統管理中找到剛安裝的Keychains and Provisioning Profiles Management插件:
Keychains and Provisioning Profiles Management.png
3、配置login.keychain和描述文件
1、login.keychain文件路徑:
~/Library/Keychains
如果該路徑下只有login.keychain-db,可以復制出來刪除-db。
2、Provisioning Profiles路徑一般為:
/User/{用戶名}/Library/MobileDevice/Provisioning Profiles
配置證書.png
配置完成后點擊Save保存。
三、新建任務
1、創建一個自由風格的任務:
新建任務.png
2、項目配置:
1、丟棄舊的構建(按需填寫)
丟棄舊的構建.png
2、源碼管理:
源碼管理.png
3、構建環境:
構建環境.png
4、增加構建步驟:
可選Xcode編譯,也可以選擇Shell腳本使用Xcodebuild命令編譯,這里只介紹shell腳本的方式:增加構建步驟-->Execute shell
echo "=================1.創建環境及文件路徑================="# $HOME表示 Jenkins 的主目錄# 項目輸出路徑OUTPUT_PATH="/Users/guaishou/autopackaging"echo $OUTPUT_PATHif [ ! -d $OUTPUT_PATH ]; thenmkdir $OUTPUT_PATHfi# 創建當前任務下的 項目文件 環境# ${JOB_NAME} 當前任務名稱JOB_NAME_PATH="$OUTPUT_PATH/${JOB_NAME}"echo $JOB_NAME_PATHif [ ! -d $JOB_NAME_PATH ]; thenmkdir $JOB_NAME_PATHfi# 項目工程名APP_NAME="sudi"#項目scheme名稱,一般跟都是跟APP_NAME是一致的SCHEME_NAME="jixain" # 項目中 Info.plist 的絕對路徑PLIST_PATH="$HOME/jenkins/workspace/${JOB_NAME}/${APP_NAME}/${APP_NAME}/Info.plist"# 獲取項目的版本號、App名稱BUNDLE_SHORT_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${PLIST_PATH}")DISPLAY_NAME=$(/usr/libexec/PlistBuddy -c "Print CFBundleDisplayName" "${PLIST_PATH}")# ipa存放的路徑IPA_PATH="${JOB_NAME_PATH}/build"# 創建 ipa 路徑文件夾if [ ! -d $IPA_PATH ];thenecho '文件夾不存在,創建文件夾'mkdir $IPA_PATHelseecho '文件夾已存在,刪除文件夾內所有文件'rm -rf $IPA_PATH/*fi# archive 文件路徑ARCHIVE_PATH="${IPA_PATH}/${APP_NAME}_${BUILD_ID}.xcarchive"echo "=================2.進入工程目錄================="cd $HOME/jenkins/workspace/${JOB_NAME}/${APP_NAME}echo "=================3.清理工程================="xcodebuild clean -target "${APP_NAME}" -configuration 'Release'echo "=================4.解鎖鑰匙串================="# 這里讀取了 Jenkins 下的 Library 中的 Keychains#如果構建環境配置看keychain,此步驟可省略
security unlock-keychain -p "電腦登錄密碼" "${HOME}/Library/Keychains/login.keychain-db"echo "=================5.打包生成 xcarchive 文件================="# 這里采用了自動簽名的方式,可自行配置 CODE_SIGN_IDENTITY 和 PROVISIONING_PROFILE# 如果是使用了cocopods的workspace,可將 -project 替換為 -workspace , .xcodeproj 替換為 .xcworkspacexcodebuild archive -workspace "${APP_NAME}.xcworkspace" -scheme "${SCHEME_NAME}" -configuration "Debug" -archivePath "${ARCHIVE_PATH}"echo "=================6.導出 ipa ================="# ExportOptions.plist主要是描述了導出的 ipa 使用的相關證書和配置文件# 不知道怎么填寫的自行百度xcodebuild -exportArchive -archivePath $ARCHIVE_PATH -exportPath "${IPA_PATH}" -exportOptionsPlist "${JOB_NAME_PATH}/ExportOptions.plist"echo "=================7.上傳到蒲公英發布平臺 ================="PASSWORD=555555GIT_MESSAGE=`git log -1 | sed -n '5,$p'`
curl -F "file=@${IPA_PATH}/${SCHEME_NAME}.ipa" \-F "uKey=你的User Key" \-F "_api_key=你的Api Key" \-F "buildInstallType=2" \-F "buildUpdateDescription=commitId:${GIT_COMMIT}-message:${GIT_MESSAGE}" \-F "buildPassword=${PASSWORD}" \
https://www.pgyer.com/apiv2/app/upload
echo "=================8.通知企業微信 ================="CURL_PSOT_DATA=" ? {
? ? ? ?\"msgtype\": \"text\",
? ? ? ?\"text\": {
? ? ? ? ? ?\"content\" : \"${DISPLAY_NAME}_iOS_${BUNDLE_SHORT_VERSION}構建成功!\n環境:Debug\n下載:蒲公英對應下載地址\n密碼:${PASSWORD}\n更新:${GIT_MESSAGE}\" ? ? ? ?}
? }"
curl '企業微信機器人地址' \ ? -H 'Content-Type: application/json' \ ? -d "$CURL_PSOT_DATA"
關于蒲公英部分和企業微信部分,可以去蒲公英官網和企業微信中查看對應的API。
三、立即構建
立即構建.png
點擊立即構建,就可以完成iOS項目的自動構建了。
四、多分支多環境打包配置
1、參數化構建:
參數化構建.png
按照上圖方式配置完后,需要在shell腳本中對以下進行修改:
xcodebuild clean -target "${APP_NAME}" -configuration '${bulidEnvironment}'
xcodebuild archive -workspace "${APP_NAME}.xcworkspace" -scheme "${SCHEME_NAME}" -configuration "${bulidEnvironment}" -arch arm64 -archivePath "${ARCHIVE_PATH}"
源碼管理里的分支應該填對用的git參數名稱:
源碼管理.png
配置完成后,立即構建按鈕就會變成這樣:
構建.png
點進去選擇對用的分支和參數進行構建:
多參數構建.png
總結
以上是生活随笔為你收集整理的ios 自动打包命令_【实践】iOS使用Jenkins实现自动化打包并上传蒲公英的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python安装vpython_VPyt
- 下一篇: 提取点的dn值_干货在线 | DEM数据