12. Jenkins 設定 Email Notification
設定完 SCM 與 Run Test 後, 其實基本的 CI 完成…
SCM 會根據設定定時去輪尋版本控制系統, 隨時 export 出最新版本的程式碼進行測試…
Run Test 會被自動觸發執行, 跑出執行結果…
但是, 不要忘記設定 Email Notification, 當建置失敗或是成功可以通知到該通知的人…
否則, 就必須要守在電腦前監控執行的結果…
進入「管理 Jenkins」-> 「設定系統」-> Jenkins 位置:
1. Jenkins URL:
這就是設定 Jenkins 存取的 URL, 預設是 http://localhost:8080
除非 Jenkins 是個人使用, 可以的話請設定 IP, FQDN 或是電腦名稱都比 localhost 來的好…
2. 系統管理員郵件位置:
建議改為比較有意思的名稱, 或是真的是系統管理員的郵件位置…
未來收到的系統通知郵件, 都會以這個郵件位置及名稱當作發信者…
畫面繼續往下拉, 還有「電子郵件通知」設定:
1. SMTP 伺服器: 如果不填的話, 就是以 localhost 為主
2. 預設使用者信箱後綴字串: 指的就是預設的郵件位置, 例如: gmail.com, 只要輸入 test 系統就認定為是 test@gmail.com
如果要測試 Jenkins 是否正確設定, 可以透過下方的「寄測試信,看看設定正不正確」進行:
只要填入收信人 email, 按下「測試設定」就可以了…
如果成功的話, 會跳出「電子郵件成功寄出」訊息…
此時, 你的 email 應該也會收到來自 Jenkins 的測試郵件:
這樣只是完成 Jenkins 系統設定部分…
我們另外還要針對特定的工作建立發送 Email 通知的動作…
首先, 進入「Test Project」工作並進入「設定」頁面->「建置後動作」-> 點「新增建置後動作」-> 選擇「電子郵件通知」:
跳出「電子郵件通知」設定:
你可以設定單一收信者, 你也透過「空白符號」設定多收信者, 也可以透過參數 $PARAM 傳給 Jenkins 來指定收信者…
「每次建置不穩定都寄送郵件」:顧名思義, 建置不穩定發信
預設郵件行為:
- Every failed build triggers a new e-mail. (建置失敗, 發信)
- A successful build after a failed (or unstable) build triggers a new e-mail, indicating that a crisis is over. (建置狀態從不穩定或失敗恢復, 發信)
- An unstable build after a successful build triggers a new e-mail, indicating that there's a regression. (建置狀態從成功轉變成不穩定, 發信)
- Unless configured, every unstable build triggers a new e-mail, indicating that regression is still there. (每一個不穩定的建置, 發信)
建置失敗郵件 (手動建置):
建置失敗郵件 (SCM 啟動):
建置失敗後成功:
這樣一來, Jenkins 就會執行自動 export 程式碼, 自動測試與 Email 通知囉…
早上到公司, 就可以知道建置是否失敗, 或是知道 Regression testing 是否失敗, 瞭解目前程式碼變更是否穩定…