這兩天在Jenkins上配置項(xiàng)目的自動(dòng)編譯及自動(dòng)測(cè)試祠汇,但是在配置郵件通知時(shí)遇到了坑虱黄,花了整整一天才配置好畴博,所以把配置的過(guò)程記錄下來(lái)。
我的項(xiàng)目是在Windows平臺(tái)開發(fā)的频丘,我用的是Windows10操作系統(tǒng)办成,申請(qǐng)了一個(gè)微軟的outlook.com后綴郵箱作為管理員,Jenkins是在官網(wǎng)上下載的搂漠,版本是2.204.2迂卢。從網(wǎng)上查到的別人的反饋,用不同的郵件提供商的設(shè)置會(huì)有不同,目前我只測(cè)試了微軟的outlook郵箱冷守,其他不一定適用刀崖,另外,我暫時(shí)沒有用擴(kuò)展的郵件插件拍摇,只是用Jenkins默認(rèn)的
outlook的SMTP參數(shù)
首先看一下Outlook的STMP設(shè)置亮钦。點(diǎn)擊outlook郵箱網(wǎng)頁(yè)的右上角齒輪圖標(biāo),然后點(diǎn)擊查看全部Outlook設(shè)置充活,選擇“郵件”->“同步電子郵件”頁(yè)面蜂莉,可以看到Outlook的SMTP設(shè)置參數(shù):
服務(wù)器名稱: smtp.office365.com
端口: 587
加密方法: STARTTLS
注意這里的STARTTLS,是導(dǎo)致Jenkins上出現(xiàn)坑的一個(gè)參數(shù)。
Jenkins的啟動(dòng)參數(shù)
Jenkins的啟動(dòng)參數(shù)在jenkins.xml這個(gè)文件里秉宿,jenkins.xml在Jenkins的安裝目錄上淌山,在我電腦上是C:\Program Files (x86)\Jenkins。用管理員權(quán)限(因?yàn)槲野袹enkins安裝在了需要管理員權(quán)限的目錄下)打開后蚁滋,修改<service>下的<arguments>這一項(xiàng),在原來(lái)的基礎(chǔ)上增加-Dmail.smtp.starttls.enable=true
赘淮,就可以在發(fā)送郵件時(shí)使用STARTTLS辕录。添加參數(shù)后需要重啟jenkinss,重啟的方法是重啟電腦梢卸,或者用管理員權(quán)限在用cmd進(jìn)入jenkins安裝目錄并輸入jenkins.exe restart
走诞。
Jenkins的設(shè)置參數(shù)
在Jenkins的網(wǎng)頁(yè)界面上,下拉聽不左側(cè)第二欄的Jenkins右邊的下三角蛤高,選擇“Manage Jenkins”->“Configure System”
系統(tǒng)管理員郵件地址
這是第一個(gè)坑蚣旱,對(duì)所有郵件提供商的都適用,郵件的系統(tǒng)管理員郵件地址必須與后面的郵件設(shè)置的一致戴陡,否則發(fā)送會(huì)失敗塞绿。
在Jenkins Location一欄的“系統(tǒng)管理員郵件地址”填上郵件管理員地址someone@hotmail.com。
郵件通知設(shè)置
在“郵件通知”一欄如下設(shè)置:
SMTP服務(wù)器:smtp.office365.com
用戶默認(rèn)郵件后綴:(留空或@outlook.com)
使用SMTP認(rèn)證:選上
用戶名:someone@outlook.com或someone
密碼:(郵箱密碼)
使用SSL協(xié)議:否
SMTP端口:587
這里重點(diǎn)是SSL協(xié)議選擇否恤批,outlook使用的是STARTTLS加密方式位隶,而不是SSL協(xié)議,這個(gè)在要在啟動(dòng)參數(shù)那里設(shè)置开皿,設(shè)置后SSL就不用選了涧黄。
如上設(shè)置后,測(cè)試郵件應(yīng)該就可以發(fā)送成功了赋荆!項(xiàng)目的郵件通知設(shè)置按直覺設(shè)置就好笋妥,沒遇到什么坑,不在此討論了窄潭。