IOS Jenkins可持续化自动打包配置(cocoapods管

2021-01-27  本文已影响0人  I_YoYo

在上个章节中讲过使用Jenkins实现自动化打包,但那个项目是未使用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

因创建项目过程比较简单这里跳过,直接讲配置。

第一步:配置打包基础信息


构建数目

第二步:配置代码git的URL


配置拉取代码的路径

第三步:配置触发器(这里不配置,因为每次手动去点击打包,不让其自动每隔多少分钟打包浪费资源)


触发器

第四步:配置脚本文件,让其打包前自动拉取最新代码(很重要)


4.png

第五步:配置构建后操作(这里不配置,因为构建成功我们打开网站就可以查看到下载的二维码)


构建后操作

打包完成,查看二维码

构建完成 打包完成.png

AutoBuild脚本文件下载地
有什么错误欢迎批评指正 。

上一篇下一篇

猜你喜欢

热点阅读