插件是增強Jenkins環(huán)境功能以滿足組織或用戶特定需求的主要手段。有超過一千種不同的插件 ,可以安裝在Jenkins主機上,并集成各種構建工具,云提供商,分析工具等等。
可以從更新中心自動下載插件及其依賴關系 。更新中心是由Jenkins項目運營的一項服務,該項目提供了由Jenkins社區(qū)的各種成員開發(fā)和維護的開源插件的清單。
本節(jié)將介紹從Jenkins Web UI中管理插件的基礎知識到主文件系統(tǒng)的更改。
Jenkins提供了幾種不同的方法來在主機上安裝插件:
每種方法將導致插件由Jenkins加載,但可能需要不同級別的訪問權限和權衡才能使用。
這兩種方法要求Jenkins管理員能夠從更新中心下載元數(shù)據(jù),無論是由Jenkins項目運行的主更新中心 ,還是自定義更新中心。
插件被打包為自包含的.hpi文件,它們具有插件需要成功運行的所有必需的代碼,圖像和其他資源。
安裝插件的最簡單和最常見的方法是通過 管理Jenkins > 管理插件視圖,可供Jenkins環(huán)境的管理員使用。
在“ 可用”選項卡下,可以搜索并考慮可從配置的“更新中心”下載的插件:
大多數(shù)插件可以通過檢查插件旁邊的框立即安裝和使用,然后單擊安裝而不重新啟動。
如果可用插件列表為空,則主機可能配置不正確或尚未從更新中心下載插件元數(shù)據(jù)。單擊立即檢查按鈕將強制Jenkins嘗試聯(lián)系其配置的更新中心。
管理員也可以使用Jenkins CLI來提供安裝插件的命令。管理Jenkins環(huán)境的腳本或配置管理代碼可能需要在Web UI中安裝插件,而無需直接的用戶交互。Jenkins CLI允許命令行用戶或自動化工具下載插件及其依賴項。
java -jar jenkins-cli.jar -s http://localhost:8080/ install-plugin SOURCE ... [-deploy] [-name VAL] [-restart]
Installs a plugin either from a file, an URL, or from update center.
SOURCE : If this points to a local file, that file will be installed. If
this is an URL, Jenkins downloads the URL and installs that as a
plugin.Otherwise the name is assumed to be the short name of the
plugin in the existing update center (like "findbugs"),and the
plugin will be installed from the update center.
-deploy : Deploy plugins right away without postponing them until the reboot.
-name VAL : If specified, the plugin will be installed as this short name
(whereas normally the name is inferred from the source name
automatically).
-restart : Restart Jenkins upon successful installation.
更新中心僅允許安裝最新發(fā)布的插件版本。在需要舊版本插件的情況下,Jenkins管理員可以下載較舊的.hpi存檔,并手動將其安裝在Jenkins主機上。
假設.hpi已下載文件,登錄的Jenkins管理員可以從Web UI中上載該文件:
一旦插件文件被上傳,必須手動重新啟動Jenkins主機,從而更改生效。
假設.hpi系統(tǒng)管理員已經(jīng)明確下載了一個文件,管理員可以手動將.hpi文件放在文件系統(tǒng)的特定位置。
將下載的.hpi`文件復制到JENKINS_HOME/pluginsJenkins主目錄中(例如,Debian系統(tǒng)JENKINS_HOME一般 /var/lib/jenkins)。
在插件加載并在Jenkins環(huán)境中可用之前,主人將需要重新啟動。
更新站點中的插件目錄的名稱并不總是與插件的顯示名稱相同。搜索 plugins.jenkins.io 以獲取所需的插件將提供相應的.hpi文件鏈接。
更新列在“ 管理插件”頁面的“ 更新”選項卡中,可以通過選中所需插件更新的復選框并單擊“ 立即下載并重新啟動”按鈕后進行安裝。
默認情況下,Jenkins管理將每24小時檢查一次更新中心的更新。要手動觸發(fā)檢查更新,只需點擊更新選項卡上的立即檢查按鈕。
當插件不再在Jenkins環(huán)境中使用時,從Jenkins主機中刪除插件是謹慎的。這提供了許多好處,例如在啟動或運行時減少內(nèi)存開銷,減少Web UI中的配置選項,以及消除與新插件更新的未來沖突的潛力。
卸載插件的最簡單的方法是導航到“ 管理插件”頁面上的“ 已安裝”選項卡。從那里,Jenkins將自動確定哪些插件安全卸載,那些不依賴于其他插件的插件,并提供一個這樣做的按鈕。
也可以通過.hpi
從JENKINS_HOME/plugins
主機上的目錄中刪除相應的文件來卸載插件。該插件將繼續(xù)運行,直到主機重新啟動。
如果某個插件.hpi文件已被刪除但其他插件需要,則Jenkins主機可能無法正確啟動。
卸載插件并不會刪除插件可能已經(jīng)創(chuàng)建的配置。如果存在引用插件創(chuàng)建的數(shù)據(jù)的現(xiàn)有作業(yè)/節(jié)點/視圖/構建/ etc配置,則Jenkins將在引導期間警告某些配置無法完全加載,并忽略無法識別的數(shù)據(jù)。
由于配置將被保留,直到它們被覆蓋,重新安裝插件將導致這些配置值重新出現(xiàn)。
Jenkins提供了通過卸載的插件清除配置的設施。導航到管理Jenkins,然后單擊管理舊數(shù)據(jù)以查看和刪除舊數(shù)據(jù)。
禁用插件是退出插件的較軟的方式。Jenkins將繼續(xù)認識到該插件已安裝,但它不會啟動該插件,并且此插件不會提供任何擴展。
Jenkins管理員可以通過取消選中“ 管理插件”頁面的“ 已安裝”選項卡上的框(見下文)來禁用插件 。
統(tǒng)管理員也可以通過在Jenkins主機上創(chuàng)建文件來禁用插件,例如:JENKINS_HOME/plugins/PLUGIN_NAME.hpi.disabled。
由禁用的插件創(chuàng)建的配置就像插件被卸載一樣,只要它們在引導時引起警告,但是會被忽略。
固定插件功能已在Jenkins 2.0中刪除。版本晚于Jenkins 2.0不會捆綁插件,而是提供一個向?qū)戆惭b最有用的插件。
固定插件的概念適用于與Jenkins 1.x捆綁的插件,例如 Matrix授權插件。
默認情況下,每當Jenkins升級時,其捆綁的插件將覆蓋當前安裝的插件版本JENKINS_HOME。
但是,當手動更新捆綁的插件時,Jenkins會將該插件標記為特定版本。在文件系統(tǒng)上,Jenkins創(chuàng)建一個空文件,JENKINS_HOME/plugins/PLUGIN_NAME.hpi.pinned 用于指示固定。
Jenkins啟動期間,固定插件永遠不會被捆綁插件覆蓋。(較新版本的Jenkins會警告您,如果固定插件 比當前捆綁的舊版本更舊)。
將捆綁插件更新到Update Center提供的版本是安全的。這通常是獲取最新功能和修復程序所必需的。捆綁版本偶爾更新,但不一致。
插件管理器允許明確地取消固定插件。該 JENKINS_HOME/plugins/PLUGIN_NAME.hpi.pinned文件也可以手動創(chuàng)建/刪除以控制釘扎行為。如果該pinned文件存在,Jenkins將使用用戶指定的任何插件版本。如果文件不存在,Jenkins將在啟動時將插件恢復為默認版本。
更多建議: