除了用風靡全世界的專案管理工具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