昨天,在使用jenkins構建項目時,出現了個問題,問題是:jenkins控制台日志顯示郵件發送成功,但實際沒有成功。
此前,jenkins的配置,項目構建后,是能正常發送郵件的,可這次突然就不行了,甚是神奇。
網上一波搜索,各種答案:
- 有些說插件bug的
- 有些說插件與jenkins版本不一致的
- 有說job配置中,收件人需要配置的
后面仔細想來,肯定不是這些問題,畢竟以前都是正常的。細細排查,最終是解決了,其實問題不大,但還是記錄下,不斷爬坑,不斷成長。
問題排查
查看日志
項目構建成功,但沒收到對應郵件,首先查看控制台的日志,如下所示:
上圖說明,構建后是調用了郵件插件的,job配置沒問題,但以前是好的,現在壞了,是不是有人改了系統設置里的配置?
查看系統配置中的郵件通知配置
既然控制台中的日志正常,那我們來測試下系統配置,是否能正常發送測試郵件,我們來到如下圖所示位置:
勾選測試郵件,並填寫收件地址,點擊測試配置按鈕,出現了如下圖報錯:
從報錯信息可知,是授權碼過期,導致登錄失敗,從而郵件沒有發生成功。
解決辦法: 重新生成一個授權碼,更新密碼即可。
密碼更新后,再次測試下測試郵件是否可以正常發送。這次好了,對應郵箱正常收到了測試郵件。
激動的小手立馬將系統配置中的數據保存,信心滿滿的再次構建項目,卻發現,依然收不到郵件,有點神奇。
查看系統配置中的Extended E-mail Notification配置
在測試發送測試郵件時,我們知道授權碼過期了,修改后,就能正常收到測試郵件。
后面仔細一想,Extended E-mail Notification插件中,也是有個密碼的,同樣更新新的授權密碼,再次構建項目,便能正常收到郵件了。
同樣的道理,如果Extended E-mail Notification插件中沒有進行高級配置的話,即使能收到測試郵件,項目構建的郵件也是會收不到的,需要注意下。
問題其實很簡單,但不仔細檢查,或許會折騰好一會了。不斷踩坑,不斷成長,加油。