花了一天时间解决这个问题,找了好多资料都没找到,最后终于想到了办法。
背景
在Jenkins上使用蒲公英上传软件安装包有两种方法,一种是使用命令行的方式
类似下面这种
1 | IPANAME="jinkens-myapp" |
这种方式的话就可以直接通过命令行获得commit message
作为版本更新说明,但是缺点是无法直接通过环境变量获得上传后的App的各种信息,比如安装包地址,app二维码图片的等等。
第二种方式是通过蒲公英在Jenkins上发布的插件Upload to pgyer
,优点是上传后的各种App的信息都会被注入到环境变量中,可以在邮件模板中直接调用。缺点是Upload description必须写死为某个值,或者使用某个环境变量,但是Jenkins的Git插件又不提供给你最后一条commit message
的环境变量。
所以说为了结合两种方式的优点,想出了如下办法解决了。
方法
- 安装插件
Environment Injector Plugin
- 构建步骤添加
Execute Shell
,填写1
2
3# 把commit message写入文件中
MSG=$(git log -1 --pretty=%B)
echo "commitMessage="${MSG} > commitMessage.txt - 构件步骤中添加
Inject Environment variables
,Properties File Path
填写${WORKSPACE}/commitMessage.txt
(也有可能是别的路径,不要写错了) - 最后在蒲公英插件
Upload to pgyer
上updateDescription
中填写${commitMessage}
就这样子就可以了,就是把message写到文件中,然后通过文件注入环境变量,然后蒲公英插件再去用就行了。