准备条件

  • iMAC(要 Mac OS 系统,安卓 和 苹果 可以在同一台电脑上打包)
  • xcode 最新版,要已安装对应的开发证书(生成一个 Ad-Hoc 类型的包就有了)
  • brew(当前管理员账户安装)
  • jenkins (当前管理员账户用 brew 安装,然后进入 jenkins 时安装推荐的插件)
  • git 命令行工具(拉取代码使用,全局环境变量)
  • gitlab 代码仓库(项目的代码仓库)

任务配置

1. jenkins 新建自由风格的项目

2. 源码管理,使用 账号 和 密码拉取代码(有可能会提示无法获取,你可以重启 jenkins 试试,如果还不行,重启电脑,如果还不行,自行解决)

jenkins 之 iOS 打包及上传至蒲公英-LMLPHP

3. 构建触发器

H/5 * * * *(每五分钟检查一次)

jenkins 之 iOS 打包及上传至蒲公英-LMLPHP

4. 构建环境

jenkins 插件管理手动安装一个插件 changelog-environment.hpi,该插件用来获取 commit 信息,到时候会提交到 蒲公英的构建版本的描述里面  (下载链接:https://pan.baidu.com/s/1jDPuW_q3wmfv5mFcnwBOhA 提取码:oxuy )

%3$s(at %4$s via %1$s) . 

yyyy-MM-dd HH:mm:ss

jenkins 之 iOS 打包及上传至蒲公英-LMLPHP

5. 构建

下载构建脚本:https://github.com/jkpang/PPAutoPackageScript,按 PPAutoPackageScript.sh 脚本的说明修改 项目的信息,

xcode 使用一次 product -> Archive 把里面的 Ad-Hoc 类型的包的  plist 文件 替换脚本中的文件 AdHocExportOptionsPlist.plist(要与 .sh 脚本里设置的名称一致)

另外需要注释掉提示输入打包类型:

jenkins 之 iOS 打包及上传至蒲公英-LMLPHP

PPAutoPackageScript.sh 脚本末尾增加上传到 蒲公英的命令,蒲公英的 key 自行申请:

# 将 ipa 包上传到蒲公英
# 蒲公英上的 User key
uKey="xxx"
# 蒲公英上的 API ley
apiKey="xxx"
# 要上传的 ipa文件路径
IPA_PATH="$export_ipa_path/$ipa_name.ipa"
# 执行上传至蒲公英的命令
echo "+++++++++++++++upload++++++++++"
#curl -F "file=$export_ipa_path/$ipa_name.ipa" -F "uKey=${uKey}" -F "_api_key=${apiKey}" https://qiniu-storage.pgyer.com/apiv1/app/upload

curl -F "file=@${IPA_PATH}" -F "_api_key=${apiKey}" -F "buildUpdateDescription=${SCM_CHANGELOG}" https://www.pgyer.com/apiv2/app/upload

jenkins 执行shell 里输入的命令:

cd $WORKSPACE
cd PPAutoPackageScript
sh PPAutoPackageScript.sh 1

jenkins 之 iOS 打包及上传至蒲公英-LMLPHP

6. 构建后操作

只需要填写一个邮箱即可

jenkins 之 iOS 打包及上传至蒲公英-LMLPHP

05-02 02:45