第一計:Jenkins用得好,插件不能少。
開源版本的Jenkins 具有三大能力:Master-Slave的分布式建構排程能力、Pipeline編排能力、強大的開源生态(插件)能力。
2017年4月,Jenkins創始人KK(Kohsuke Kawaguchi )來到中國,交流中他也明确表示Jenkins的成功主要取決于其開源生态系統,Jenkins有1400多個插件可供使用。因為有開源的插件生态系統的存在,Jenkins要用得好,插件一定是不能少的,需要我們充分發現和使用插件來實作我們的需求,而不是重複造輪子,自己去實作。
但是面對林林總總的插件,到底該怎麼選?我的常用需求有哪些插件可以滿足,筆者根據以往在企業中管理Jenkins的經驗推薦如下常用的插件清單,希望大家基于Jenkins及其插件生态實作自己的持續傳遞與DevOps平台。
Jenkins 使用者權限管理是Jenkins Administration中非常很重要的環節,由于大部分企業都會有自己的域控管理,是以和LDAP內建并基于使用者組實作權限模型設計與管理是企業級Jenkins實踐的重要内容。
基于Windows Active Directory進行域管理的企業,推薦采用Active Directory。
Jenkins 項目中配置Source Code Management 去下載下傳代碼進行建構任務,是非常普遍的應用場景。Jenkins插件支援很多SCM的系統,使用最常見的是Git 和SVN。
Jenkins中對Project 和 view的管理,是使用者日常工作中使用很多的功能。
List view Jenkins 預設支援List類型的視圖,使用者可以建立List視圖過濾所關心的項目。
Jenkins支援多種Build 觸發方式,尤其一些自動化觸發方式非常有用
Build periodically,Jenkins 内置功能,可以設定類似crontab時間,周期性地自動觸發建構。
Poll SCM,Jenkins 内置功能,類似Build periodically,可以設定類似crontab時間,不同的是不是直接進行建構,而是周期性地在背景檢查所配置的SCM有沒有更新,隻有當有代碼更新時才會觸發建構。
Trigger builds remotely (e.g., from scripts),Jenkins 内置功能,遠端觸發建構,通過設定token可以支援遠端腳本中觸發Jenkins建構。
Jenkins除了支援普通的參數類型(布爾型、字元串型、多行文本型、選擇型和檔案型[w1] )外,還有一些插件支援更加豐富實用的參數類型,比如參數間動态關聯、多層級參數、隐藏參數等 。
其他插件不一一列舉,可以檢視插件說明
圍繞建構任務,有許多小的插件,卻提供了一些實用的功能
把建構狀态及時地通知使用者,是Jenkins的一個必不可少的功能。Jenkins支援多種主動和被動的通知方式。
Jenkins的Master-Slave架構實作了分布式建構,可以充分的橫向擴充Slave來提升建構能力,将Slave容器化是目前主流的建構環境标準化、叢集化和彈性化的方式。
<a href="http://www.greatops.net/?id=233">原文連結</a>