jenkins-APP打包页面展示二维码

时间:2022-02-01 03:00:59

背景:

  客户要求在APP打包页面展示二维码。虽然感觉这个功能很鸡肋,但是还是加上吧。

效果展示:

  jenkins-APP打包页面展示二维码

配置:

在上图中,106对应的内容是BuildName,我们可以通过build-name-setter插件来实现自定义配置;二维码和二维码说明是对应的BuildDescription

安装description setter plugin插件后,在配置页面的Build栏目下,Add build step中会出现Set build description配置项,添加该配置项后就会出现如下配置框。

jenkins-APP打包页面展示二维码

该功能的强大之处在于,它可以在构建日志中通过正则表达式来匹配内容,并将匹配到的内容添加到BuildDescription中去。

例如,我们想要展示的二维码图片是在每次构建过程中生成的,因此我们首先要获取到二维码图片文件。

我的做法是,使用shell提交APP至fir生成二维码图片和提交短链接。

I, [2017-07-05T14:01:18.888407 #6768]  INFO -- : Uploading app binary......
I, [2017-07-05T14:05:36.265570 #6768] INFO -- : Fetch app info from fir.im
I, [2017-07-05T14:05:36.850586 #6768] INFO -- : ✈ -------------------------------------------- ✈
I, [2017-07-05T14:05:36.850628 #6768] INFO -- : Published succeed: http://fir.im/gapn

然后,在Set build description配置项的Regular expression就可以按照如下正则表达式进行匹配:

Published succeed: (.*)$

接下来,就可以在Description中对匹配到的结果进行引用二维码链接。

<img src='${BUILD_URL}artifact/version/fir-XDTX-TEST.png' height="200" width="200">\n<a href='\1'>Install Online</a>

通过以上方式,就可以实现前面图片中的效果。在这里,我们用到了HTML的标签,而Jenkins的Markup Formatter默认是采用Plain text模式,因此还需要对Jenkins对系统配置进行修改,在安全设置中选择safe html。

4、收集编译成果物

在上面讲解的展示二维码图片一节中,用到了${BUILD_URL}artifact/version/fir-XDTX-TEST.png一项,这里的URL就是用到了编译成果物收集后保存的路径。

Archives build artifacts是Jenkins默认自带的功能,无需安装插件。该功能在配置页面的Post-build Actions栏目下,在Add post-build action的列表中选择添加Archives build artifacts

添加后的配置页面如下图所示:

jenkins-APP打包页面展示二维码

通常,我们只需要配置Files to archive即可。定位文件时,可以通过正则表达式进行匹配,也可以调用项目的环境变量;多个文件通过逗号进行分隔。

通过这种方式,我们就可以实现在每次完成构建后将需要的文件收集起来进行存档,以便后续在Jenkins的任务页面中进行下载。