jenkins打包脚本

这里只是记录一下Jenkins打包脚本, 这个脚本可以实现功能
* 包名 appname + 版本号 + 时间
* archive名 appname + 版本号 + 时间
* 包导出到指定目录
* archive导出到指定目录

只对下面加 @@@ 行根据你的实际情况修改即可, 一共有5处


#!/bin/sh
export LANG=en_US.UTF-8     #   执行pod install时用到  
security unlock-keychain "-p" "xxx"   # 你电脑的密码  @@@
appname="your appname"     # @@@
# build_type="dev"
projectpath=$(pwd) # 工作目录
basepath=$HOME # 当前用户目录
archivePath="$projectpath/archive/$appname.xcarchive" #archive目录
packagepath="$projectpath/packages" # ipa文件存放的路径
# ExportIpa时的依据的plist文件路径
optionsPlist="$projectpath/build/ExportOptions.plist"
# 项目所在的 plist 文件路径
info_plist="$projectpath/$appname/Info.plist"
export_ipapth="/Users/a33/Desktop/package/JenkinsBuild/ipa" # 最终转存导出的ipa路径 @@@
export_ipaname="your appname" # 最终转存导出的ipa文件名 @@@
export_archivepath="/Users/a33/Desktop/package/JenkinsBuild/archive" #@@@

# 根据当前日期设置 build 号

# current_time=$(date +%Y%m%d_%H:%M:%S) #获取当前日余额时分秒

current_date=$(date +%Y%m%d_%H:%M)
#获取并设置build版本号
build_num=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "$info_plist")
longVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "$info_plist")
slice_date=${build_num:0:6}
if [ ${slice_date} -ge $current_date ]
then
   build_num=`expr ${build_num} + 1`
else
   build_num="${current_date}"
fi
/usr/libexec/PlistBuddy -c "Set CFBundleVersion $build_num" "$info_plist"
#设置 sys-clientVersion
client_version=`/usr/libexec/PlistBuddy -c "Print sys-clientVersion" "$info_plist"`
big_version=${client_version%.*}
if [ "${big_version}" = "" ]
then
    big_version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$info_plist"`
fi
new_client_version="${big_version}.${build_num}"
/usr/libexec/PlistBuddy -c "Set sys-clientVersion ${new_client_version}" "$info_plist"

# 获取 shortVersion
bundle_version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$info_plist"`

# 确定ipa路径和ipa名称
ipaname_prefix="${appname}_${new_client_version}_${build_type}" #ipa所在文件夹的 name
ipapath="$packagepath/$ipaname_prefix" # 导出ipa的路径


#clean
xcodebuild -workspace "$appname.xcworkspace" -scheme "$appname" -configuration "Debug" clean
#build
xcodebuild archive -workspace "$appname.xcworkspace" -scheme "$appname" -sdk iphoneos -configuration "Debug" -archivePath $archivePath
#export
xcodebuild -exportArchive -archivePath "$archivePath" -exportPath "$ipapath" -exportOptionsPlist "$optionsPlist" -allowProvisioningUpdates

# 移动ipa文件并删除编译文件夹
cd $packagepath
mv $ipapath/$appname.ipa $export_ipapth/${export_ipaname}_V$longVersion\(build$build_num\).ipa # 按命名格式将文件重命名
mv $archivePath $export_archivepath/${export_ipaname}_V$longVersion\(build$build_num\).xcarchive
# rm -rf *.ipa || true # 删除旧的ipa文件
rm -rf $ipapath # 删除空目录

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值