如何使用带有短名称的命令列表列出所有可用的 jenkins 插件
How to list all available jenkins plugins using command list with their short names
我想使用命令行选项列出所有可用的插件名称及其简称,以便我可以通过 jenkins 命令行自动安装所需的插件。
请指教。谢谢
- 到目前为止,我试图找到相同的答案,但我得到的答案只是如何列出已安装的插件,而不是所有可用的插件。
- 我找到了这个 link http://updates.jenkins-ci.org/download/plugins/,它列出了所有插件,但只有它们的短名称
你们太亲密了! The LAYOUT is detailed here。信息就在附近供您解析,希望我没看错。
http://updates.jenkins-ci.org/download/plugins/ 确实是插件的位置,每个文件夹中都有实际的插件版本。
https://updates.jenkins.io/ is the root level. You will find the list of all plugins and details at plugin-versions.json.
update-center.js、update-center.json, and update-center.json.html 分别包含 JSON、JSONP 和 HTML 格式的实际更新中心元数据。您可以解析 json 以提取您要查找的所有内容。还有文档列表 url 和发布历史,以及更新。
这是细微差别的地方;有 stable (ie:LTS) or latest(即:每周)和每个版本的主要版本。每个都有自己的子列表,具体取决于最低版本和兼容性。
插件选择
由于其中的 none 告诉您插件实际做什么,最好的办法是在 https://plugins.jenkins.io/. Clicking on any plugin (eg: mailer 处选择您的插件)显示一个 header 块,其中包含详细信息:
梅勒 1.23
Jenkins 最低要求:1.642.3
ID:邮寄者
ID是您要查找的简称。浏览并找到您要使用的插件,这就是您的列表。不用担心依赖关系。
关于插件管理
即使在独立实例上,我也使用 Docker install_plugins.sh 的修改脚本来生成要安装的完整插件列表。
更新 2021:作为 GSOC 2019 and refined in GSOC 2020, a new and quite functional Plugin Installation Manager CLI Tool 的一部分,已引入以替换所有 non-GUI 插件管理工具,包括 inatall_plugins.sh。取得类似的结果。
您可以检查输出或使用下面的 groovy 脚本来简化您的“必备”列表。此外,由于依赖项更新一直在发生,如果我需要将相同的内容重新应用到不同的实例而不是从我的精选列表中重新应用,我还会生成一个实际安装的更新列表。我的精选列表是 ~45 个插件,安装了超过 115 个。
例如:workflow-api
包含 [workflow-scm-step]
其中包含 [git, subversion]
,因此无需指定 git。但是你想知道你得到的是哪个版本。根据 JENKINS-54018, plugins which were split from Jenkins.
,有时您可能需要显式添加依赖项以获取最新版本以避免缺陷
println "Jenkins Instance : " + Jenkins.getInstance().getComputer('').getHostName() + " - " + Jenkins.getInstance().getRootUrl()
println "Installed Plugins: "
println "=================="
Jenkins.instance.pluginManager.plugins.sort(false) { a, b -> a.getShortName().toLowerCase() <=> b.getShortName().toLowerCase()}.each { plugin ->
println "${plugin.getShortName()}:${plugin.getVersion()} | ${plugin.getDisplayName()} "
}
println""
println "Plugins Dependency tree (...: dependencies; +++: dependants) :"
println "======================="
Jenkins.instance.pluginManager.plugins.sort(false) { a, b -> a.getShortName().toLowerCase() <=> b.getShortName().toLowerCase()}.each { plugin ->
println "${plugin.getShortName()}:${plugin.getVersion()} | ${plugin.getDisplayName()} "
println "+++ ${plugin.getDependants()}"
println "... ${plugin.getDependencies()}"
println ''
}
return
我想使用命令行选项列出所有可用的插件名称及其简称,以便我可以通过 jenkins 命令行自动安装所需的插件。
请指教。谢谢
- 到目前为止,我试图找到相同的答案,但我得到的答案只是如何列出已安装的插件,而不是所有可用的插件。
- 我找到了这个 link http://updates.jenkins-ci.org/download/plugins/,它列出了所有插件,但只有它们的短名称
你们太亲密了! The LAYOUT is detailed here。信息就在附近供您解析,希望我没看错。
http://updates.jenkins-ci.org/download/plugins/ 确实是插件的位置,每个文件夹中都有实际的插件版本。
https://updates.jenkins.io/ is the root level. You will find the list of all plugins and details at plugin-versions.json.
update-center.js、update-center.json, and update-center.json.html 分别包含 JSON、JSONP 和 HTML 格式的实际更新中心元数据。您可以解析 json 以提取您要查找的所有内容。还有文档列表 url 和发布历史,以及更新。
这是细微差别的地方;有 stable (ie:LTS) or latest(即:每周)和每个版本的主要版本。每个都有自己的子列表,具体取决于最低版本和兼容性。
插件选择 由于其中的 none 告诉您插件实际做什么,最好的办法是在 https://plugins.jenkins.io/. Clicking on any plugin (eg: mailer 处选择您的插件)显示一个 header 块,其中包含详细信息:
梅勒 1.23
Jenkins 最低要求:1.642.3
ID:邮寄者
ID是您要查找的简称。浏览并找到您要使用的插件,这就是您的列表。不用担心依赖关系。
关于插件管理
即使在独立实例上,我也使用 Docker install_plugins.sh 的修改脚本来生成要安装的完整插件列表。
更新 2021:作为 GSOC 2019 and refined in GSOC 2020, a new and quite functional Plugin Installation Manager CLI Tool 的一部分,已引入以替换所有 non-GUI 插件管理工具,包括 inatall_plugins.sh。取得类似的结果。
您可以检查输出或使用下面的 groovy 脚本来简化您的“必备”列表。此外,由于依赖项更新一直在发生,如果我需要将相同的内容重新应用到不同的实例而不是从我的精选列表中重新应用,我还会生成一个实际安装的更新列表。我的精选列表是 ~45 个插件,安装了超过 115 个。
例如:workflow-api
包含 [workflow-scm-step]
其中包含 [git, subversion]
,因此无需指定 git。但是你想知道你得到的是哪个版本。根据 JENKINS-54018, plugins which were split from Jenkins.
println "Jenkins Instance : " + Jenkins.getInstance().getComputer('').getHostName() + " - " + Jenkins.getInstance().getRootUrl()
println "Installed Plugins: "
println "=================="
Jenkins.instance.pluginManager.plugins.sort(false) { a, b -> a.getShortName().toLowerCase() <=> b.getShortName().toLowerCase()}.each { plugin ->
println "${plugin.getShortName()}:${plugin.getVersion()} | ${plugin.getDisplayName()} "
}
println""
println "Plugins Dependency tree (...: dependencies; +++: dependants) :"
println "======================="
Jenkins.instance.pluginManager.plugins.sort(false) { a, b -> a.getShortName().toLowerCase() <=> b.getShortName().toLowerCase()}.each { plugin ->
println "${plugin.getShortName()}:${plugin.getVersion()} | ${plugin.getDisplayName()} "
println "+++ ${plugin.getDependants()}"
println "... ${plugin.getDependencies()}"
println ''
}
return