如何自动检查更新的 Jenkins 插件版本?

How to check for newer Jenkins plugin versions automatically?

我们正在使用官方 Jenkins docker 图像 运行 Jenkins serverless. The docker image contains a install-plugins.sh script 可以提供插件列表及其版本,并且 运行 在图像构建。

虽然 Jenkins 警告管理后端中的过时插件,有什么方法可以轻松更新该列表(格式)?

插件列表格式看起来像

apache-httpcomponents-client-4-api:4.5.13-1.0
authentication-tokens:1.3
aws-credentials:1.28
(...)
credentials:2.3.7
git-client:3.2.1
git-server:1.9
git:4.8.1

我希望有一个 cli 工具或在线工具可以提交该列表并获取有关较新插件版本的信息,并轻松地将它们带到最新版本。显然,Jenkins 插件存储库为每个插件提供此信息,例如 https://plugins.jenkins.io/apache-httpcomponents-client-4-api/#releases

为了您的目的,存在插件安装管理器工具。

检查video如何使用它

Plugin Installation Manager Tool will replace a wide range of plugin management tools attempts, and as stated in the Jenkins docker image repository readme, the install-plugins.sh script is deprecated.

I was hoping for a cli tool or online tool to hand in that list and get info about newer plugin versions and bring them to the newest version easily

使用插件安装管理器工具,只需使用以下方法将现有列表输入工具即可:

--available-updates:(可选)设置为 true 以显示任何请求的插件是否有可用的更新版本。如果有 Jenkins 特定版本的更新中心可用,将根据该更新中心的数据确定最新的插件版本。

readme file has an example 怎么称呼呢。请记住将您的插件列表文件指定为输入。

其他有用的选项:
--no-download:(可选)设置为 true 不下载插件。默认情况下它设置为 false 并且将下载插件。
--latest false:(可选)设置为 false 以下载所有依赖项的最低要求版本。
--latest-specified:(可选)(高级)设置为 true 以下载任何被请求具有最新版本的插件的最新依赖项。所有其他插件依赖版本由更新中心元数据或插件决定 MANIFEST.MF.


补充说明:

install_plugins.sh插件安装管理器工具只接受插件名称(无版本)或pluginname:latest,它将在 运行 时检索可用的最新版本。参见 detailed examples

如果只指定了所需的基本插件,这两个工具也会自动下载依赖项即:git 包括 git-client、apache-httpcomponents-client-4-api、凭据,但不包括 aws-credentials(但 aws-credentials 包括凭据) .

风险在于插件版本的变化,依赖项可能会添加您不知道的版本或插件(或者您保留 obsolete/redundant 依赖项)。或者只是一个更新的依赖项。但这两种方式都可以。

保存下载内容的摘要总是好的;您可以 for reference. Our best practice is to use a SPEC list of required plugins to generate a current complete plugin off-line. Both lists are checked into VCS, along with CasC yaml files 每个插件。在实例配置中使用完整列表 w/exact 版本。使用 SPEC 列表来考虑功能升级和安全问题的完整列表。