先安裝插件: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