jenkins常用插件彙總

開源版本的Jenkins 具有三大能力:Master-Slave的分佈式構建調度能力、Pipeline編排能力、強大的開源生態(插件)能力。

2017年4月,Jenkins創始人KK(Kohsuke Kawaguchi )來到中國,交流中他也明確表示Jenkins的成功主要取決於其開源生態系統,Jenkins有1400多個插件可供使用。因爲有開源的插件生態系統的存在,Jenkins要用得好,插件一定是不能少的,需要我們充分發現和使用插件來實現我們的需求,而不是重複造輪子,自己去實現。

但是面對林林總總的插件,到底該怎麼選?我的常用需求有哪些插件可以滿足,筆者根據以往在企業中管理Jenkins的經驗推薦如下常用的插件列表,希望大家基於Jenkins及其插件生態實現自己的持續交付與DevOps平臺。

用戶及權限

Jenkins 用戶權限管理是Jenkins Administration中非常很重要的環節,由於大部分企業都會有自己的域控管理,所以和LDAP集成並基於用戶組實現權限模型設計與管理是企業級Jenkins實踐的重要內容。

  • l  LDAP (https://plugins.jenkins.io/ldap),這個插件允許使用LDAP對用戶進行認證,LDAP 服務器可以爲Active Directory 或者 OpenLDAP。
  • l  Active Directory https://plugins.jenkins.io/active-directory,這個插件允許使用Active Directory對用戶進行認證,同時結合諸如Matrix Authorization Strategy插件,可以識別用戶所在的所有用戶組,對用戶授權進行靈活配置。
  • l  基於Windows Active Directory進行域管理的企業,推薦採用Active Directory。
  • l  GitHub Authentication https://plugins.jenkins.io/github-oauth,這個插件提供了使用GitHub進行用戶認證和授權的方案。
  • l  Gitlab Authentication https://plugins.jenkins.io/gitlab-oauth,這個插件提供了使用GitLab進行用戶認證和授權的方案。
  • l  Matrix Authorization Strategy https://plugins.jenkins.io/matrix-auth,這個插件提供了基於矩陣的授權策略,支持全局和項目級別的配置。
  • l  Role-based Authorization Strategy https://plugins.jenkins.io/role-strategy,這個插件提供了一種基於角色(Role)的用戶權限管理策略,支持創建global角色、Project角色、Slave角色,以及給用戶分配這些角色。這款插件是最常用的Jenkins權限策略和管理插件。

代碼管理

Jenkins 項目中配置Source Code Management 去下載代碼進行構建任務,是非常普遍的應用場景。Jenkins插件支持很多SCM的系統,使用最常見的是Git 和SVN。

項目及視圖

Jenkins中對Project 和 view的管理,是用戶日常工作中使用很多的功能。

  • l  Folder https://plugins.jenkins.io/cloudbees-folder,這個插件支持用戶使用目錄管理項目,目錄支持嵌套,並且支持目錄中創建視圖。
  • l  List view Jenkins 默認支持List類型的視圖,用戶可以創建List視圖過濾所關心的項目。
  • l  Sectioned View https://plugins.jenkins.io/sectioned-view,這個插件支持一種新的視圖,視圖可以分爲多個部分,每部分可以單獨配置顯示所選擇的項目信息。
  • l   Nested View https://plugins.jenkins.io/nested-view,這個插件支持一種新的視圖,其表示直接顯示項目,而是以目錄圖標顯示所包含的子視圖,每個子視圖顯示所選項目信息。
  • l  Build Pipeline https://plugins.jenkins.io/build-pipeline-plugin,這個插件提供了一種Build Pipeline 視圖,用於顯示上、下游項目構建的關係。

構建觸發

Jenkins支持多種Build 觸發方式,尤其一些自動化觸發方式非常有用

  • l  Build periodically,Jenkins 內置功能,可以設置類似crontab時間,週期性地自動觸發構建。
  • l  Poll SCM,Jenkins 內置功能,類似Build periodically,可以設置類似crontab時間,不同的是不是直接進行構建,而是週期性地在後臺檢查所配置的SCM有沒有更新,只有當有代碼更新時纔會觸發構建。
  • l  Trigger builds remotely (e.g., from scripts),Jenkins 內置功能,遠程觸發構建,通過設置token可以支持遠程腳本中觸發Jenkins構建。
  • l  Gerrit Trigger https://plugins.jenkins.io/gerrit-trigger,這個插件將Jenkins集成到Gerrit code review中,支持Jenkins配置Gerrit服務器等信息,實現Gerrit event 觸發Jenkins 構建。
  • l  GitLab https://plugins.jenkins.io/gitlab-plugin,    這個插件將Jenkins 集成到GitLab web hook中,支持Gitlab 分支及Merge Request等相關事件觸發Jenkins構建。
  • l  GitHub Integration https://plugins.jenkins.io/github-pullrequest ,這個插件將Jenkins集成到GitHub中,支持Gitgub分支及Pull requests 觸發Jenkins 構建。
  • l  JIRA Trigger https://plugins.jenkins.io/jira-trigger,這個插件將Jenkins集成到Jira WebHooks中,支持Jira issue的狀態等變化時觸發Jenkins構建。

構建參數

Jenkins除了支持普通的參數類型(布爾型、字符串型、多行文本型、選擇型和文件型 )外,還有一些插件支持更加豐富實用的參數類型,比如參數間動態關聯、多層級參數、隱藏參數等 。

  • l  nodelabelparameter  https://plugins.jenkins.io/nodelabelparameter,這個插件增加了一個新的參數類型,Node 和 Label,從而使用戶通過參數可以選擇項目構建運行的節點。
  • l  其他插件不一一列舉,可以查看插件說明

Ø  https://plugins.jenkins.io/hidden-parameter

Ø  https://plugins.jenkins.io/extended-choice-parameter

Ø  https://plugins.jenkins.io/validating-string-parameter

Ø  https://plugins.jenkins.io/extensible-choice-parameter

Ø  https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin

構建任務及環境

圍繞構建任務,有許多小的插件,卻提供了一些實用的功能

構建通知

把構建狀態及時地通知用戶,是Jenkins的一個必不可少的功能。Jenkins支持多種主動和被動的通知方式。

  • l  Mailer  https://plugins.jenkins.io/mailer,這個插件支持基本的郵件通知功能,比如構建失敗和構建恢復成功可以發送郵件通知給相關人員。
  • l  Email Extension https://plugins.jenkins.io/email-ext,這個插件是郵件通知的擴展,支持定製郵件內容,觸發條件以及郵件接收者,功能比基本郵件通知要靈活強大的多。
  • l  Slack Notification https://plugins.jenkins.io/slack,這個插件支持把構建結果推送到Slack channel。

容器化Slave

Jenkins的Master-Slave架構實現了分佈式構建,可以充分的橫向擴展Slave來提升構建能力,將Slave容器化是目前主流的構建環境標準化、集羣化和彈性化的方式。

Admin相關插件

jenkins常用插件彙總:
Build-timeout Plugin:任務構建超時插件
Naginator Plugin:任務重試插件
Build User Vars Plugin:用戶變量獲取插件
Build Pipeline Plugin View :Pipeline 管道流圖表展示插件

Build Flow Plugin:工作流插件,支持DSL腳本定義工作流
Build Graph View Plugin:build Flow插件視圖(安裝後需要重新才能生效)
Multijob Plugin:多任務插件
Build-timeout Plugin:job構建超時插件
Build Timestamp Plugin :任務log時間戳插件,使得job log的每次輸出前面都增加當時的時間
Parameterized Trigger Plugin:這是一個擴展型的插件,使各個job連接的時候可以傳遞一些job相關的信息
Join Plugin:這也是一個觸發job的插件,亮點在於它觸發job的條件是等待所有當前job的下游的job都完成纔會發生。
Files Found Trigger:檢測指定的目錄,如果發現指定模式的文件則啓動build。
BuildResultTrigger Plugin:根據其他的job的成功或失敗來啓動此build。
Publish Over SSH Plugin:通過ssh發佈文件
Rebuild Plugin:重新執行插件
ws-cleanup Plugin :workspace清理插件
Cron Column Plugin: 通過定時任務例行的運行一些job
Job Configuration History Plugin:使用心得:使job具備版本管理的能力,diff和rollback功能更是非常贊
HTTP Request Plugin:使用心得:在構建前後可以通過該插件以http形式調用各種api接口實現和內部系統的聯動
Periodic Backup:使用心得:備份是運維一個系統必須要保障的事情,該插件的恢復功能可能不可用,需要手工進行,好處在於可以定時備份
Job Import Plugin:使用心得:可以快速導入其他jenkins集羣的已有job,需要認證的jenkins系統導入需要提供憑證纔可以
Status Monitor Plugin:構建狀態插件
Build Monitor View :使用心得:基於該插件可以實現dashboard功能
Build Environment Plugin:構建環境插件,可以進行構建環境比較。
FTP插件:
Monitoring:Monitoring of Jenkins

基礎依賴插件:
jQuery Plugin:jQuery插件

 

轉:https://www.cnblogs.com/honeybee/p/7877875.html

http://www.ttlsa.com/auto/jenkins-plugin-recommend/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章