#!/bin/bash -ilex
#为防止后来者看不懂,我加了一些注释:首先上面这行命令不要删,否则会jenkins找不到Mac的环境,报错command not found
#我们的目录多了一个 RRPadClient 文件夹,先cd进去才能正常使用fastlane
#因为fastlane会自动遍历需要打包的工程(包括.xcworkspace文件)
cd RRPadClient
rm -rf /Users/jason/Library/Developer/Xcode/DerivedData
#生成的ipa名称变量,默认的生成目录就是cd到的目录下,即./${IPANAME}.ipa
IPANAME="Jenkins-iPadClient"
# 打包常用命令
# gym(
# scheme: scheme,
# export_method: "ad-hoc",
# silent:true,
# output_directory:outputDirectory,
# output_name:ipaName,
# archive_path:outputDirectory,
# export_xcargs: "-allowProvisioningUpdates",
# )
# 使用fastlane 的gym工具进行打包(关于打包命令fastlane或者fir均可以),-j代表打包的是什么渠道
# 支持app-store, ad-hoc, package, enterprise, development
# -q 代表的是 Debug 还是 Release,-n 是打包后的ipa名称。 --export_xcargs 是使用xcode打包时 gym 工具传给Xcode的参数
# allowProvisioningUpdates 代表让 Xcode 每次打包时自动更新最新的配置文件
# 重点: 打包时确保当前 Mac 的 Keychain 中包含正确的 Developer 或者 Distribution 的相应的证书
# Xcode 会遍历当前电脑 ‘~/Library/MobileDevice/Provisioning\ Profiles/’ 下配置文件,找到正确的配置文件并打包
# QENV, 代码运行环境, 测试环境: DebugTest, 正式环境: Release
QENV="DebugTest"
fastlane gym -j development -q ${QENV} -n ${IPANAME} --scheme 'RRPadClient' --export_xcargs '-allowProvisioningUpdates' --clean
#使用curl命令将ipa包上传到蒲公英的开发者后台(也可以使用fir.im)。-F代表post请求参数,ukey和api_key为蒲公英后台分配(不上传蒲公英就删掉这行。)
curl -F "file=@${IPANAME}.ipa" -F "_api_key=b53d236fd6634c6b29710dd5abca347d" https://upload.pgyer.com/apiv2/app/upload
# 发送消息到“iOS+测试”企业微信群
get_branch=$GIT_BRANCH
BODY='{"msgtype":"text","text":{"content": "人人视频 HD 打包完成,环境: '${QENV}', 下载地址: https://www.pgyer.com/JQSq, 密码: rrsp"}}'
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=cae93bb8-9306-4a7b-84d7-be85eb7e54c2' \
-H 'Content-Type: application/json' \
-d "$BODY"
#!/bin/bash -ilex
#代码混淆脚本,如需要快速打包,可注释此行
#ob/ob_gnb.sh
#为防止后来者看不懂,我加了一些注释:首先上面这行命令不要删,否则会jenkins找不到Mac的环境,报错command not found
#我们的目录多了一个PUClient文件夹,先cd进去才能正常使用fastlane,因为fastlane会自动遍历需要打包的工程(包括.xcworkspace文件)
#生成的ipa名称变量,默认的生成目录就是cd到的目录下,即./${IPANAME}.ipa
IPANAME="jenkins-RRTVGN"
#使用fastlane 的gym工具进行打包(关于打包命令fastlane或者fir均可以),-j代表打包的是什么渠道,支持app-store, ad-hoc, package, enterprise, development
#-q 代表的是Debug还是Release,-n 是打包后的ipa名称。 --export_xcargs 是使用xcode打包时,gym工具传给Xcode的参数,allowProvisioningUpdates代表让xcode每次打包时自动更新最新的配置文件
#重点:打包时,确保你的Mac的keychain Access.app(即钥匙链)包含正确的developer或者distribution的相应的证书,Xcode会遍历当前电脑`~/Library/MobileDevice/Provisioning\ Profiles/`下面的配置文件,找到正确的配置文件并打包
fastlane gym -j development -q 'Debug' -n ${IPANAME} --export_xcargs '-allowProvisioningUpdates'
#使用curl命令将ipa包上传到蒲公英的开发者后台(也可以使用fir.im)。-F代表post请求参数,ukey和api_key为蒲公英后台分配(不上传蒲公英就删掉这行。)
curl -F "file=@${IPANAME}.ipa" -F "_api_key=b53d236fd6634c6b29710dd5abca347d" https://upload.pgyer.com/apiv2/app/upload
get_branch=$GIT_BRANCH
# 发送消息到“iOS+测试”企业微信群
BODY='{"msgtype":"text","text":{"content": "多多视频(test)打包完成,分支:'${get_branch}', 下载地址: https://www.pgyer.com/w7DR"}}'
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=cae93bb8-9306-4a7b-84d7-be85eb7e54c2' \
-H 'Content-Type: application/json' \
-d "$BODY"