1. 程式人生 > >jenkins配置郵件通知功能以及破解管理員密碼

jenkins配置郵件通知功能以及破解管理員密碼

Jenkins 持續集成 CentOS7

筆記內容:jenkins配置郵件通知功能以及破解管理員密碼
筆記日期:2018-02-27

  • 26.6 jenkins郵件設置
  • 26.7 插件email-ext
  • 26.8 破解jenkins管理員密碼

26.6 jenkins郵件設置

打開Jenkins的web頁面,點擊 系統管理 -> 系統設置 -> Jenkins Location ,先設置系統管理員郵件地址,這裏的系統管理員郵件地址需要和後續要設置的發送郵件的地址一致:
技術分享圖片

然後再往下拉,找到 “郵件通知” 那一欄,填寫SMTP服務器地址,我這裏使用的是163的服務器:
技術分享圖片

點右側的高級,打勾“使用SMTP認證”,填寫用戶名以及smtp服務的密碼,這裏的用戶名需要與我們之前設置的系統管理員郵件地址一致,如果使用的是ssl協議,還需要在這裏打勾,smtp端口默認為25:

技術分享圖片

打勾 “通過發送測試郵件測試配置” ,然後填寫接收郵件的地址,點右側的Test configuration,測試發送郵件:
技術分享圖片

然後收件郵箱就會收到一封這樣的郵件:
技術分享圖片

測試完郵件能夠正常發送後,點擊保存,接著就是到已經構建過的任務裏去配置接收郵件的地址了:
技術分享圖片

在最下面 “構建後操作” 那一欄,找到E-mail Notification,Recipients填寫收郵件人:
技術分享圖片
技術分享圖片

註:這個收件人郵箱只會在任務構建失敗時才能收到Jenkins發送的郵件。

然後我手動的將代碼發布的目錄加上一個 i 權限,目的是為了讓任務構建的時候失敗:

[root@client ~]# cd /tmp/
[root@client /tmp]# rm -rf jenkins_test/*
[root@client /tmp]# chattr +i jenkins_test/
[root@client /tmp]# 

可以看到構建這個任務失敗了:
技術分享圖片

這時去收件人郵件裏,看看是否已經收到了Jenkins發送的郵件:
技術分享圖片

如上,可以看到成功的收到了,Jenkins發送的郵件,這樣我們就完成了Jenkins發送郵件功能的配置。


26.7 插件email-ext

雖然我們已經配置了Jenkins內置的發送郵件的功能,但是也看到了有個小缺點,就是只有在任務構建失敗時才會發送郵件進行通知,而如果有需求希望任務構建成功也發送郵件進行通知,那麽Jenkins內置的這個發送郵件的功能就滿足不了了。

所以這種情況就需要使用插件來完成,這裏我們使用到的插件是 Email Extension Plugin ,這個插件是默認安裝的,所以我們直接配置使用就可以了。系統管理 -> 系統設置 -> 找到Extended E-mail Notification一欄,填寫SMTP server,點擊Use SMTP Authentication,填寫用戶名、密碼、SMTP port等:

技術分享圖片

基本和之前的配置一樣:
技術分享圖片

然後往下拉,配置Default Triggers:
技術分享圖片
技術分享圖片

最後把之前的 “郵件通知” 的配置內容刪除掉 ,接著點擊保存即可。

完成以上這一步配置後,同樣的還得去配置任務中的 “構建後操作” ,點擊“增加構建後操作步驟”,選擇“Editable Email Notification” :
技術分享圖片

其中Project Recipient List為接收郵件的收件人,可以在默認內容後面增加額外的收件人郵箱,用逗號分隔:
技術分享圖片

點擊右下角的“Advanced settings”,找到 “Triggers ”,然後點擊下方的 “Add Trigger” ,可以增加發郵件的條件:
技術分享圖片

因為之前測試Jenkins的 “郵件通知” 時給發布代碼的目錄增加了 i 權限,現在得先改回來:

[root@client /tmp]# chattr -i jenkins_test/

然後點擊任務的立即構建,可以看到構建成功了:
技術分享圖片

收件人郵箱也正常收到了通知郵件:
技術分享圖片

這個郵件通知的插件就先介紹到這,關於這個插件的更多內容,可參考以下文章:

  • Jenkins進階系列之——01使用email-ext替換Jenkins的默認郵件通知

26.8 破解jenkins管理員密碼

人總是不經意間丟三落四,例如經常會忘記自己設置的密碼,當你不小心忘記了jenkins的管理員密碼,可以通過以下方法重置:

[root@server ~]# cd /var/lib/jenkins/users/admin/
[root@server /var/lib/jenkins/users/admin]# ls
config.xml
[root@server /var/lib/jenkins/users/admin]# vim config.xml 

然後定位到 passwordHash 那一行,這一行存的就是加密後的密碼,刪除該行,改為以下內容:

<passwordHash>#jbcrypt:$2a$10$nhq0VvaBetttj7rsLn3POuqsblkpa2S550MFW9wanc0YAd7A9De8G</passwordHash>

接著重啟一下jenkins服務:

systemctl restart jenkins.service

重啟完成後,此時admin的密碼為 123456 ,這是因為在配置文件裏替換了之前的密碼。

jenkins配置郵件通知功能以及破解管理員密碼