[Jenkins]持續整合之路(四)訊息通知丟到Slack

除了用風靡全世界的專案管理工具Outlook透過Email來收CI訊息,也能把Jenkins CI訊息也像Log或是TFS  CI、Jira訊息丟到Slack或Teams頻道上,今天先記錄Slack。

 

設定的步驟是

  • Slack 新增頻道
  • Slack 頻道安裝Jenkins app
  • 安裝Slack Notification Plugin
  • 組態Slack Notification Plugin

 


Slack 新增頻道

第一步就是Slack新增頻道了!

1.打開Slack,新增CHANNELS

 

2.輸入channel的名稱,這邊我們輸入jenkins,輸入完畢後,按下Create Channel按鈕

 


Slack 頻道安裝Jenkins app

1.建立完頻道後,我們回到slack,在頻道的最下方,點選 + Add an app

 

2.搜尋輸入方塊內輸入JENKINS

 

3.按下Install按鈕(安裝Jenkins app)

 

4.按下Add Jenkins CI integration 按鈕

 

5.在步驟3記下Base URL及Integration Token

Base URL: https://workspace.slack.com/services/hooks/jenkins-ci/

Integration Token: B00L1jn2V4jPnnNEERU7jEYT

 

6.按下Save Settings按鈕

 

Slack組態設定完畢。準備回到Slack組態,Slack網站很貼心的附上Jenkins 管理網站上相關的設定及組態,我們繼續按圖施工。

 


安裝Slack Notification Plugin

1.管理 Jenkins > 管理外掛程式

 

2.點可用的tab,過濾條件輸入slack,勾選slack Notification plugin安裝,最後按下直接安裝按鈕

 


組態Slack Notification Plugin

組態Slack Notification有兩個層級,一個是整個Jenkins,另一個是按照每個CI JOB設定,這邊先用整個Jenkins的設定當範例,未來可以視CI JOB屬性再到其他頻道後,再到每個CI JOB填Base URL和Token。

 

1.管理Jenkins > 設定系統

 

2.找到Slack Webhook Setting區塊,依序設定Base URL、integration Token及頻道名稱。

3.設定完成後按下Test Connection按鈕

打開slack頻道就會出現jenkins拋送過來的測試訊息

最後別忘了按下儲存設定的按鈕。

 

Slack plugin安裝及設定完畢後,我們就完成和Slack對接前置工作,之後加入CI JOB時,就可以在建置後動作加入Slack Notifications,選擇想要的條件。

*如果想填其他的Slack頻道,也可以按下右下角的進階填base URL和token。

 

Jira Issue要丟slack,TFS Build要丟slack,AP log也要丟slack,Jenkins CI也要丟到slack頻道上了

 


參考

Slack Plugin

https://wiki.jenkins.io/display/JENKINS/Slack+Plugin