在上一篇的內容,已經架設好 Jenkins Server 也做了一項簡單的 Jnekins Job,讓它替我們到 Github Repo 上面 Clone 一個專案到 Workspace 上面。
這次是延續功能到每當 Jenkins 執行後發送通知到 Slack 通訊軟體裡面,Jenkins 不只提供 Slack 也有提供其他的通訊軟體,就看自行的需求去選取。
啟動 Jenkins Server
這邊稍作修改,我不希望每次開機電腦都會自動替我啟動 Jenkins Server,所以將其改為透過指令來啟動。
啟動方式則是需要先到官網下載 jenkins.war 檔案,然後透過 java -jar jenkins.war --httpPort=8080 的指令來操作。
NOTE: 參考資料 Getting started with the Guided Tour,同時需要注意 Java 版本需要是 11 - 17 之間。
跟尋以下路徑去安裝 Slack 插建在 Jenkins 上,Dashboard ➡️ Manage Jenkins ➡️ Manage Plugins ➡️ Available plugins ➡️ 搜尋 Slack。
安裝完以後並重啟 Jenkins Server。
不一定要重新建立一個頻道,也可以使用原來的頻道都可以,就依照自己的需求調整。
這邊就開設一個頻道叫做 # Jenkins。
接下來會需要你提供 Cheenl 名稱,這裡只需選剛剛建立好的頻道即可,系統會自動將 Jenkins 加入到頻道中。
回頭去看一下 Slack 的頻道,則會出現一則加入 Jenkins 的訊息。
替 Jenkins Job 設定 Slack Token
OK,如果已經完成上述的步驟,基本上已經將頻道和 Jenkins 串起來了。
現在就要替 Jenkins Job 連結這個通知功能。
前往到先前的 Jenkins Job 設定頁面中,最下方有一個 Post-Build Actions 功能,要選擇 Add post-build action ➡️ Slack Notifications。levelup-6wf1964
接下來是最重要的部分,Workspace 以及 Credential 要各別填上來自 Slack 開啟的 Jenkins CI 網頁中的設定。
WorkSpace 對應的是 Team Subdomain。
Credential 則需要新增一個 Jenkins,Kind 選擇 Secret text 並於下方 Secret 填上 Integration Token Credential ID。
上述的 Token 來自:
從 Jenkins Job 測試發送通知至 Slack
設置完以後,點選右下角 Test Connection,同時檢查 Slack 頻道中 Jenkins 的訊息。