在上個章節(jié)中講過使用Jenkins實現(xiàn)自動化打包溉愁,但那個項目是未使用cocoapods管理的項目仆救,兩種方式生成導出.ipa文件命令有所不同秸抚。今天講的是自動打包使用了cocoapods來管理的項目感帅,并且加入自動拉取git上代碼功能圆雁。
1:編寫腳本文件
#蒲公英
User_Key="這里配置自己蒲公英賬號的key,登錄網址個人中心可獲取"
API_Key="這里配置自己蒲公英賬號的key"
#---------------------------CD到jenkins的工作目錄
cd /Users/mac/files/workspace_ios/線上/ios_phone/WorldDoctor
#---------------------------配置工程名
project_name=WorldDoctor
#---------------------------配置不同的scheme名(一個工程下可能多個target)
scheme_name=WorldDoctor_Doctor
#----------------------------打包模式Debug/Release
development_mode=Debug
#----------------------------配置打包腳本文件所在目錄
superPath=/Users/mac/重要的文件/AutoBuild
#----------------------------配置打包后編譯出文件父目錄
saveFilPath=${superPath}/build
#----------------------------配置.ipa文件存放目錄
ipaFilePath=${saveFilPath}/`date '+%Y_%m_%d_%H_%M_%S'`
#----------------------------配置.ipa文件路徑
ipaPath=${ipaFilePath}/${scheme_name}.ipa
#****************************************************************************
#$(cd "$(dirname "$0")"; pwd)
#echo '當前路徑--->'$saveFilPath
#plist文件所在路徑
exportOptionsPlistPath=${superPath}/DevelopmentExportOptionsPlist.plist
xcarchivePath=${saveFilPath}/${scheme_name}.xcarchive
ipaName=`date '+%Y_%m_%d_%H_%M_%S'`
echo '*** 正在 清理工程 ***'
xcodebuild \
clean -configuration ${development_mode} -quiet || exit
echo '*** 清理完成 ***'
echo '*** 正在 編譯工程 For '${development_mode}
xcodebuild -workspace ${project_name}.xcworkspace -scheme ${scheme_name} -archivePath ${xcarchivePath} -configuration Debug archive -quiet || exit
#xcodebuild archive -project ${project_name}.xcworkspace -scheme ${scheme_name} -archivePath ${xcarchivePath} -quiet || exit
echo '*** 編譯完成 ***'
echo '*** 正在 打包 ***即將導出到 '${ipaPath}
xcodebuild -exportArchive -archivePath ${xcarchivePath} \
-configuration ${development_mode} \
-exportPath ${ipaFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} \
-quiet || exit
if [ -e $ipaPath ]
then
echo '*** .ipa文件已導出 ***>'$ipaPath
cd ${ipaFilePath}
echo "*** 開始上傳.ipa文件 ***"
RESULT=$(curl -F "file=@$ipaPath" -F "uKey=$User_Key" -F "_api_key=$API_Key" -F "publishRange=2" http://www.pgyer.com/apiv1/app/upload)
echo "*** .ipa文件上傳成功 ***"
echo $RESULT
else
echo "*** 準備上傳ipa文件为黎,但沒找到該文件 ***"
fi
echo "*** 打包完成準備導出 ***"
if [[ -d ${saveFilPath} ]]; then
echo "*** 刪除原包 ***"
rm -rf ${saveFilPath} -r
fi
echo '*** 打包完成 ***'
1:配置jenkins
因創(chuàng)建項目過程比較簡單這里跳過邮丰,直接講配置。
第一步:配置打包基礎信息
構建數目
第二步:配置代碼git的URL
配置拉取代碼的路徑
第三步:配置觸發(fā)器(這里不配置铭乾,因為每次手動去點擊打包剪廉,不讓其自動每隔多少分鐘打包浪費資源)
觸發(fā)器
第四步:配置腳本文件,讓其打包前自動拉取最新代碼(很重要)
4.png
第五步:配置構建后操作(這里不配置炕檩,因為構建成功我們打開網站就可以查看到下載的二維碼)
構建后操作
打包完成斗蒋,查看二維碼
構建完成
打包完成.png
AutoBuild腳本文件下載地
有什么錯誤歡迎批評指正 。