天天看點

Jenkins常用插件介紹

對于中小型運維團隊,jenkins作為運維利器,可以解決很多工作中的痛點。基于UI的特性進而讓使用者的入門成本很低,基于插件可以具備認證,記錄,條件觸發以及關聯,讓運維工程師可以将精力放在業務而非通用需求上,進而大幅提升運作效率,降低開發成本。基于分布式的排程能力,又能在異構網絡中進行集中式管理。這其中,插件功不可沒,是以本文以截圖的形式,詳細介紹在運維中jenkins的20+主要插件

本文鑒于篇幅,無法對每個插件的用法進行詳細闡述,僅對插件的關鍵點進行截圖,大家可以在jenkins插件的官網進行查詢https://plugins.jenkins.io

使用心得:将多個job進行串聯,進而實作分級釋出的能力。每個job完成之後,可以進行效果檢查,通知關聯系統等等功能,進而實作了一套較為完整的全流程自動變更機制

Jenkins常用插件介紹
Jenkins常用插件介紹

使用心得:對于任務執行,增加了很多的觸發條件判斷,進而讓任務執行變得更加智能

Jenkins常用插件介紹

使用心得:通過jenkins+ansbile可以實作任務的批量執行,可以不使用ansible模式,直接在shell裡面調用ansible即可,但是需要在ansible部署的機器上設定好主機清單 ;也可以基于ansible模式進行操作,兩種截圖均有提供

Jenkins常用插件介紹
Jenkins常用插件介紹

使用心得:設定Job運作的最大耗時,避免異常後無人介入導緻Job持續運作占用資源,最小逾時時間為3min

Jenkins常用插件介紹

使用心得:通過定時任務例行的運作一些job,實作例行的巡檢,流量切換,預案演練,重新開機等操作

Jenkins常用插件介紹

使用心得:使job具備版本管理的能力,diff和rollback功能更是非常贊

Jenkins常用插件介紹

使用心得:在建構前後可以通過該插件以http形式調用各種api接口實作和内部系統的關聯

Jenkins常用插件介紹

使用心得:觸發下一個job時,将上一個job的參數傳遞下去,利用該特性,也可以将執行的Slave作為參數進行傳遞,進而解決在公有雲多租戶場景下JOB通用的問題。通過build on the same node即可解決所有JOB都在特定的slave上執行。需要注意的是,current build parameters僅僅傳遞該JOB編譯用到的參數,而非上一個JOB傳遞下來的所有參數,在多級傳遞中需要注意。

Jenkins常用插件介紹

使用心得:通過版本庫擷取代碼,進而減少在Jenkins上大量編寫腳本,進而帶來的較高的維護成本,正确的使用Jenkins的方式應該是将大量的業務邏輯放在版本庫中,Jenkins隻是膠水作用,将各種操作粘合在一起進而讓任務能夠順利完成。

Jenkins常用插件介紹

使用心得:可以快速導入其他jenkins叢集的已有job,需要認證的jenkins系統導入需要提供憑證才可以

使用心得:通過該插件可以将Master上的JOB在Slave的機器上執行,Master通過SSH的方式連接配接Slave。主要用途有兩種,第一種是降低Master的負載,在Master的JOB較多的時候使用;第二種是将Slave當做代理,用于管理Master無法直接聯通的網絡環境,如多個公有雲租戶。Master以SSH方式連接配接Slave時候,建議使用信任關心處理,這樣可以減少很多的問題和安全風險 。同時,Master和Slave的Jenkins——Home變量要一緻,否則會導緻部分任務執行異常。調整了Slave的部署目錄,需要斷開Slave,然後重新連接配接才能生效jenkins-home。

Jenkins常用插件介紹
Jenkins常用插件介紹

使用心得:通過該插件,Master可以在任務執行前先以SSH方式登入到Slave上,然後将指定的資料推送到Slave上。主要的使用場景,如果任務執行需要先下載下傳版本庫的内容再執行,那麼下載下傳動作是放在Slave上進行的,因為異構網絡導緻Slave無法連接配接相關資源時,該方式可以很好的解決

Jenkins常用插件介紹

使用心得:通過該插件,Master可以在任務執行前先以SSH方式登入到Slave上,然後執行預定義的Shell腳本,進行自定義的健康檢查,進而在多個Slave的情況下選擇最健康的Slave進行任務的執行,提升任務執行的成功率

Jenkins常用插件介紹

使用心得:通過該插件,可以在頁面上直覺的看到是哪個節點指定的對應的JOB,對于多節點的場景下能夠對于排錯有很大幫助

Jenkins常用插件介紹

使用心得:通過該插件,可以将任務輸出的内容,每行前均添加時間戳,進而便于分析任務的耗時問題。預設情況下,前面的時間戳是不存在的,僅有後面的内容。同時,對于時間戳的展現形式,也有多種,詳見截圖

Jenkins常用插件介紹

使用心得:通過該插件,可以将使用者輸入的密碼内容以********進行代替,進而避免在輸入秘鑰後在output中别人看到的隐患。安裝完畢該插件後,需要在系統管理-系統設定中對何種類型的參數進行密碼,然後在JOB中建構環境部分,勾選Mask passwords and regexes進而讓密碼加密功能生效

Jenkins常用插件介紹
Jenkins常用插件介紹

使用心得:通過該插件可以将Jenkins的執行結果以HTML方式進行展現,當然前提是你的輸出結果是HTML檔案,該插件現在還無法做到将任意類型的輸出内容格式化為HTML

使用心得:通過該插件可以将Jenkins的執行結果(主要是失敗任務)以郵件方式進行發送,需要注意的地方是,在配置頁面中SMTP認證的使用者名和jenkins location的系統管理者郵箱位址需要相同,不然在QQ郵箱中無法正常發出,會報”501 mail from address must be same as authorization user”

使用心得:通過該插件可以将Jenkins進行定期備份,主要是試用定期備份功能,設定最大的備份數量,曆史備份壓縮儲存以及對需要備份的檔案和目錄進行定制化設定

Jenkins常用插件介紹

使用心得:通過該插件可以将Jenkins的所有JOB的某些配置點(截圖2列出)進行單一頁面的展示和部分修改。推薦幾個常用的修改點,Execute shell slicer,parameters,Timer Trigger Slicer,Timestamper Slicer,Tied Label Slicer,Discard Old Builds Slicer。parameters修改截圖如下圖所示,全部JOB的parameters已經進行了羅列,按需修改即可。

Jenkins常用插件介紹
Jenkins常用插件介紹

使用心得:通過該插件可以将Jenkins的所有slave進行批量的管理

Jenkins常用插件介紹
Jenkins常用插件介紹

使用心得:通過該插件接入公司的認證系統,進而減少了自己維護認證資訊的成本

使用心得:通過檔案夾進行不同類型的JOB的管理