Jenkins常用插件介紹


		<h2>摘要:</h2>

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

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

Build Pipeline Plugin:灰度發布

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

Conditional BuildStep:策略判斷

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

Ansible Plugin:批量執行

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

Build timeout plugin:超時控制

使用心得:設置Job運行的最大耗時,避免異常后無人介入導致Job持續運行占用資源,最小超時時間為3min

Cron Column Plugin:定期執行

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

Job Configuration History Plugin:變更查詢

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

HTTP Request Plugin:跨平台調用

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

Parameterized Trigger plugin:參數傳遞

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

Git plugin

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

Job Import Plugin

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

SSH Slaves plugin:總控方式管理公有雲的多個租戶

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

Copy To Slave Plugin:Slave集群數據推送

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

Slave Prerequisites plugin:對Slave集群進行篩選

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

Built-on Column:展示實際執行任務的Node名稱

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

Timestamper:耗時分析

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

**11:30:56** Started by user admin 
**11:30:56** Building remotely on slave1 in workspace /home/jenkins/jobs/workspace/testSlave1 
**11:30:56** [testSlave1] $ /bin/sh -xe /tmp/jenkins4021440449868306197.sh 
**11:30:56** + sudo ansible test -m command -a ifconfig

Mask Passwords Plugin:密碼加密

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

15:12:54 + echo ********
15:12:54 ********
15:12:54 Finished: SUCCESS

HTML Publisher plugin:支持HTML輸出格式的展現

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

Mailer Plugin:通過郵件發送任務執行情況

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

ThinBackup Plugin:定期備份Jenkins

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

Configuration Slicing Plugin:批量修改JOB的配置

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

Multi slave config plugin:批量修改slave的配置

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

CAS protocol version 1 plugin

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

Folder

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

原文地址:http://www.yunxiaobai.net/archives/15
	</div>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM