先安装插件:set build description正则表达式
安装该插件后,在【Post-build Actions】
栏目中会多出description setter
功能,能够实现构建完成后设置当次build的描述信息。这个描述信息不只会显示在build页面中,同时也会显示在历史构建列表中。express
有了这个前提,要将二维码图片展现在历史构建列表中貌似就能够实现了,能直观想到的方式就是采用HTML
的img
标签,将<img src='qr_code_url'>
写入到build描述信息中。安全
这个方法的思路是正确的,不过这么作之后并不会实现咱们预期的效果。app
这是由于Jenkins出于安全的考虑,全部描述信息的Markup Formatter
默认都是采用Plain text
模式,在这种模式下是不会对build描述信息中的HTML编码进行解析的。测试
要改变也很容易,Manage Jenkins
-> Configure Global Security
,将Markup Formatter
的设置更改成Safe HTML
便可。ui
1.这个url指向一张图片编码
2.我想经过正则匹配到这个图片地址,而后在descripiotn中经过<img src = url>的形式,在jenkins构建历史中展现出这张图片url
测试文本:spa
appQRCodeURL: https://www.pgyer.com/app/qrcodeHistory/6d2176e2fec26df62f907296237e78910f45b2ff711d81f6e2a926ff45xxxxx
Regular expression填写:.net
appQRCodeURL: ([a-zA-z]+://[^\s]*)
Description填写:
<img src ="\1" height="140" width="140" ><a href='https://www.pgyer.com/xxxx'>Install Online</a>
解释:
1.Description使用 \n这种形式去引用Regular expression 中正则表达式匹配到的结果(只会匹配括号中括起来的内容)
2.若是正则表达式中有多个()括号,则可使用\1\2来对应这些括号
碎碎念:
接下来排查问题,图片展现不出来,确定是图片的路径有问题。
直接访问url地址能够看到图片,说明url自己没有问题。
因此问题出在对图片的引用这里。
在 Regular expression处输入https://www.pgyer.com/app/qrcodeHistory/...(...表示正则表达式匹配后面的内容),
Description处什么也不写,这样执行构建后,构建历史中会直接展现正则表达式匹配到的内容,咱们就能够查看匹配到的结果是否和咱们预期的一致了
展现的效果是这样的。点开...能够访问到图片。
看构建详情是匹配到了url地址的
百思不得其解的时候,看到了下面地址中的博客,才明白过来,原来
在jenkins的 set build description这个插件中,若是想要引用到正则表达式匹配到的结果,
必定要在正则表达式外面用()英文的小括号括起来。
划重点:
由于 \1表示引用 正则表达式中第1个用小括号括起来,匹配到的内容,
因此若是description中使用了\1引用,则正则表达式中必定要有1组用()括起来的正则表达式,才能有引用到的结果啊
看一下说明文档:
1
Regular expression参数的含义:
Description参数的含义:
另附一个 APP版本号的正则表达式
BuildVersion: (([1-9]\d|[1-9])(\.([1-9]\d|\d)){2})
使用方式 :
<b>"\1" </b>
效果:
参考了:
https://blog.csdn.net/weiguang1017/article/details/78549607