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点(星期二和星期四)开会。

相关文章
相关标签/搜索