12. Jenkins 設定 Email Notification

12. Jenkins 設定 Email Notification

設定完 SCM 與 Run Test 後, 其實基本的 CI 完成…

SCM 會根據設定定時去輪尋版本控制系統, 隨時 export 出最新版本的程式碼進行測試…

Run Test 會被自動觸發執行, 跑出執行結果…

但是, 不要忘記設定 Email Notification, 當建置失敗或是成功可以通知到該通知的人…

否則, 就必須要守在電腦前監控執行的結果…

 

進入「管理 Jenkins」-> 「設定系統」-> Jenkins 位置:

image

 

1. Jenkins URL:

這就是設定 Jenkins 存取的 URL, 預設是 http://localhost:8080

除非 Jenkins 是個人使用, 可以的話請設定 IP, FQDN 或是電腦名稱都比 localhost 來的好…

2. 系統管理員郵件位置:

建議改為比較有意思的名稱, 或是真的是系統管理員的郵件位置…

未來收到的系統通知郵件, 都會以這個郵件位置及名稱當作發信者…

 

畫面繼續往下拉, 還有「電子郵件通知」設定:

image

1. SMTP 伺服器: 如果不填的話, 就是以 localhost 為主

2. 預設使用者信箱後綴字串: 指的就是預設的郵件位置, 例如: gmail.com, 只要輸入 test 系統就認定為是 test@gmail.com

 

如果要測試 Jenkins 是否正確設定, 可以透過下方的「寄測試信,看看設定正不正確」進行:

image

只要填入收信人 email, 按下「測試設定」就可以了…

image

如果成功的話, 會跳出「電子郵件成功寄出」訊息…

 

此時, 你的 email 應該也會收到來自 Jenkins 的測試郵件:

image

這樣只是完成 Jenkins 系統設定部分…

 

我們另外還要針對特定的工作建立發送 Email 通知的動作…

首先, 進入「Test Project」工作並進入「設定」頁面->「建置後動作」-> 點「新增建置後動作」-> 選擇「電子郵件通知」:

image

 

跳出「電子郵件通知」設定:

image

你可以設定單一收信者, 你也透過「空白符號」設定多收信者, 也可以透過參數 $PARAM 傳給 Jenkins 來指定收信者…

「每次建置不穩定都寄送郵件」:顧名思義, 建置不穩定發信

預設郵件行為:

  1. Every failed build triggers a new e-mail. (建置失敗, 發信)
  2. A successful build after a failed (or unstable) build triggers a new e-mail, indicating that a crisis is over.  (建置狀態從不穩定或失敗恢復, 發信)
  3. An unstable build after a successful build triggers a new e-mail, indicating that there's a regression. (建置狀態從成功轉變成不穩定, 發信)
  4. Unless configured, every unstable build triggers a new e-mail, indicating that regression is still there. (每一個不穩定的建置, 發信)

 

建置失敗郵件 (手動建置):

image

 

建置失敗郵件 (SCM 啟動):

image

 

建置失敗後成功:

image

 

這樣一來, Jenkins 就會執行自動 export 程式碼, 自動測試與 Email 通知囉…

早上到公司, 就可以知道建置是否失敗, 或是知道 Regression testing 是否失敗, 瞭解目前程式碼變更是否穩定…