使用Jenkins擴展共享庫進行釘釘消息推送
起因:執(zhí)行完流水線后進行一定程度的消息推送,所以選擇釘釘進行jenkins
構(gòu)建結(jié)構(gòu)的消息推送

下載配置相關(guān)依賴插件
相關(guān)環(huán)境:
-
Jenkins
?2.277.3,安裝文檔見上篇 -
DingTalk
?插件 2.4.3 -
build user vars plugin
?插件 1.7
-
在Jenkins中安裝釘釘插件DingTalk :warning: 請確保你的 Jenkins 版本 >= 2.176.4
釘釘機器人配置,說明文檔
找到 Jenkins 首頁 >> 系統(tǒng)管理 >> 釘釘,我的配置如下圖
:warning: 注意手動輸入機器人的id,不要自動生成,否則重啟后,robot的id將發(fā)生變化
在流水線中,使用wrap,獲取BUILD_USER變量

創(chuàng)建配置共享庫
編寫Groovy腳本
項目目錄結(jié)構(gòu)如下:

dingme.groovy
文件內(nèi)容如下

文本中
xxxxxxxxxxx
請根據(jù)實際情況更換為釘釘群組里面,具體人的手機號,可以添加多個
在 Jenkins 中配置將共享庫
找到 Jenkins 首頁 >> 系統(tǒng)管理 >> Global Pipeline Libraries,我的配置如下圖

在流水線中導(dǎo)入共享庫
導(dǎo)入方法@Library('pipeline-library-demo')_
,這樣就可以使用共享庫中的代碼了
具體的 pipeline 腳本如下:

至此完成,構(gòu)建效果如下圖:

遇到的問題
-
currentBuild.durationString
的值傳遞不進去,一開始先用withEnv
包裹一下
后來找到原因 Groovy 在單引號的字符串里面是不支持插值的,所以要用雙引號
單引號中的env.JOB_NAME
會引用失敗,雙引號則引用成功
單、雙引號引用JOB_NAME
都引用成功
推薦所有變量都用""雙引號
三引號也是一樣,''' 三單引號不支持插值,"""三雙引號支持插值
參考鏈接:https://www.ssgeek.com/post/jenkinssharelibrary-shi-jian-zhi-zi-ding-yi-tong-zhi-qi/