讀古今文學網 > Maven實戰 > 11.9 郵件反饋 >

11.9 郵件反饋

持續集成中非常重要的一個步驟就是反饋。集成的狀態信息(尤其是不健康的狀態信息)必須及時地通知給相關團隊成員,而最常見的反饋方式就是使用電子郵件。本小節介紹如何配置Hudson來及時地發送集成反饋郵件。

首先需要做的是為Hudson配置郵件服務器信息。進入11.5節提到的系統設置頁面,找到E-mail Notification部分,然後輸入以下信息:

·SMTP server:SMTP郵件服務器地址。

·Default user e-mail suffix:默認用戶郵件後綴。當用戶沒有配置郵件地址的時候,Hudson會自動為其加上該郵件後綴。當用戶數量很多,並且郵件地址都是一個域名的時候,該功能就顯得尤其重要,例如配置後綴為@foo.com,且用戶mike沒有配置郵件地址,那麼當Hudson需要發郵件給mike的時候就會發送到[email protected]

·System Admin E-mail Address:系統管理員郵件地址,即Hudson郵件提示所使用的發送地址。

·Hudson URL:Hudson服務器的地址。該地址往往被包含在電子郵件中以方便用戶訪問Hudson取得進一步的信息,因此要確保該地址在用戶機器上是可訪問的。

·SMTP Authentication:SMTP相關的認證配置。

完整的郵件服務器配置如圖11-32所示。

圖11-32 Hudson郵件服務配置

配置完成後,可以單擊圖11-32右下角的測試按鈕,讓Hudson發一封郵件至系統管理員郵件地址以確認配置成功。

接下來要做的是配置Hudson任務使用郵件反饋。進入任務的配置頁面,然後找到最後Post-build Actions小節中的E-mail Notification復選框,將其選上。現在要關心的是兩個問題:什麼樣的構建會觸發郵件反饋?郵件會發送給誰?

關於第一個問題,答案是這樣的:

·失敗的構建會觸發郵件反饋。

·成功構建後的一次不穩定構建會觸發郵件反饋。不穩定往往是由失敗的測試引起的,因此成功後的一次不穩定往往表示有回歸性測試失敗。

·失敗或不穩定構建後的一次成功構建會觸發郵件反饋,以通知用戶集成恢復到了健康狀態。

·用戶可以配置是否每次不穩定構建都觸發郵件反饋。

關於第二個問題,首先可以在Recipients中配置一個郵件列表(用空格分離),列表中的用戶會收到所有郵件反饋。一般來說,項目負責人應該在這個列表中。

其次,Hudson還提供一個選項:Send separate e-mails to inpiduals who broke the build。當用戶選擇該選項後,郵件會發送給所有與這次構建相關的成員,即那些提交了本地構建代碼更新的成員。Hudson無法精確地知道到底是誰的代碼提交導致了構建失敗,因此只能通知所有與代碼更新相關的成員。

典型的郵件反饋配置如圖11-33所示。

圖11-33 為Hudson任務配置郵件反饋

最後需要解釋的是,圖11-33中的Send e-mail for every unstable build選項表示是否為所有的不穩定構建觸發郵件反饋,如果不將其選中,只有成功構建後的第一次不穩定構建才會觸發郵件反饋。推薦的做法是將其選上。敏捷高效的團隊不應該忽略持續集成中的任何不健康因素。