Alpha 版本的插件管理庫和 CLI 工具

本文首發於:Jenkins 中文社區java

原文連接    做者:stopalopagit

譯者:zhaoyinggithub

Alpha 版本的插件管理庫和 CLI 工具

Alpha 版本的插件管理庫和 CLI 工具docker

devopsworld File

「人人都在重複造輪子,部分像實現插件管理的」細節」(簽名元數據,製品校驗和,從核心獨立出來的插件…)。 很明顯, Jenkins 應該爲實時 Jenkins 實例以外的插件安裝提供充足的工具。」 JENKINS-53767安全

個人 Google Summer of Code project 項目試圖解決這個問題,方法是建立一個庫,該庫將在 Jenkins 的不一樣實現中統一插件管理邏輯,並提供一個可使用戶輕鬆下載插件並在 Jenkins 啓動以前查看插件信息的 CLI 工具。 我很高興分享咱們剛剛發佈的 Alpha 版本,您能夠在此處查看!bash

GSoC 階段 1 更新 

當我考慮將插件管理器從 Jenkins 核心中移出時,因爲依賴項的複雜性和數量,這最終成爲了最具挑戰性的第一步。相反,咱們決定首先將 Jenkins Docker 中的 install-plugins.sh bash 腳本轉換爲 Java。 install-plugins.sh 腳本存在多個問題,即它是 bash 腳本而且擴展性有限,此外,它不會檢索全部最新的更新中心的元數據。ide

Alpha 版本詳情 

模仿官方 Jenkins Docker 鏡像中 install-plugins.sh 腳本中的操做,新的插件管理庫接收插件列表、它們的版本和(或) URL,從中能夠下載插件,並下載所需的插件及其依賴。插件從更新中心下載到指定目錄,而後能夠加載到 Jenkins 中。當前,能夠經過 plugins.txt 文件和(或) -plugins 的 cli 選項指定要下載的插件,咱們計劃進一步擴展能夠接收的輸入格式。 還支持用於不一樣更新中心的自定義版本說明符工具

Example plugins.txt File

該庫將首先檢查當前是否在用戶指定的下載位置或用戶指定的 Jenkins war 文件中安裝了任何請求的插件。若是要求更高版本或更高版本做爲依賴項,則將忽略或升級已安裝的插件。肯定插件下載 URL 後,庫將下載插件並解析和下載其依賴。google

Example of Downloading Plugins

Plugin Download Directory

這僅僅是個開始:插件管理器庫和 cli 工具仍在開發中。 有關 CLI 選項以及如何運行該工具的最新信息,請參見存儲庫 README.md 。 即將提供更強大的輸入解析,對安全警告和可用更新的支持,Docker集成以及其餘功能!spa

連接和反饋 

歡迎經過插件安裝管理器 CLI 工具 Gitter 聊天室或 Jenkins 開發者郵件列表與咱們聯繫。我但願收到您的問題,評論和反饋!咱們在世界標準時間下午6點(星期二和星期四)開會。

相關文章
相關標籤/搜索