如何使用带有简短名称的命令列表列出所有可用的jenkins插件

如何使用带有简短名称的命令列表列出所有可用的jenkins插件,jenkins,jenkins-plugins,Jenkins,Jenkins Plugins,我想使用命令行选项列出所有可用的插件名称和它们的短名称,这样我就可以通过jenkins命令行自动化所需的插件安装 请告知。谢谢 到目前为止,我试图找到答案,但我得到的答案只是如何列出已安装的插件,而不是所有可用的插件 我找到了这个链接,它列出了所有插件,但只列出了它们的短名称 你离得太近了。这些信息就在附近,你可以分析,希望我做对了 确实是插件的位置,实际的插件版本位于每个文件夹中 是根级别。您将在上找到所有插件的列表和详细信息 update-center.js,并分别包含JSON、JSONP

我想使用命令行选项列出所有可用的插件名称和它们的短名称,这样我就可以通过jenkins命令行自动化所需的插件安装

请告知。谢谢

  • 到目前为止,我试图找到答案,但我得到的答案只是如何列出已安装的插件,而不是所有可用的插件
  • 我找到了这个链接,它列出了所有插件,但只列出了它们的短名称
你离得太近了。这些信息就在附近,你可以分析,希望我做对了

确实是插件的位置,实际的插件版本位于每个文件夹中

是根级别。您将在上找到所有插件的列表和详细信息

update-center.js,并分别包含JSON、JSONP和HTML格式的实际更新中心元数据。您可以解析json来提取您要查找的所有内容。还有文档url和发布历史以及更新的列表

这就是它的微妙之处;每个版本都有(ie:LTS)或(ie:weekly)和主要版本。每一个都有自己的子列表,这取决于最低版本和兼容性


插件选择 因为这些都不能告诉你插件的实际功能,所以最好的办法是在网站上选择插件。单击任何插件(例如:)会显示一个标题块,其中包含详细信息:

Mailer1.23
詹金斯最低要求:1.642.3
ID:mailer

ID是您要查找的短名称。浏览并找到你想要使用的插件,这就是你的列表。不要担心依赖关系


关于插件管理

即使是在一个独立的实例上,我也使用修改过的Docker脚本来生成要安装的插件的完整列表

您可以检查输出或使用下面的groovy脚本来简化“必须拥有”列表。此外,由于依赖项更新一直在发生,如果我需要以相同的方式重新应用到不同的实例,而不是从我的策划列表中,我也会生成一个实际安装的更新列表。我的策划名单是45个插件,其中超过115个已经安装

例如:
workflowapi
包括
[workflow scm step]
,其中包括
[git,subversion]
,因此无需指定git。但是你想知道你得到了哪个版本。有时,您可能需要显式地添加依赖项以获取最新版本,以避免出现缺陷(根据插件)

println“Jenkins实例:”+Jenkins.getInstance().getComputer(“”).getHostName()+“-”+Jenkins.getInstance().getRootUrl()
println“已安装的插件:”
println“==================================”
Jenkins.instance.pluginManager.plugins.sort(false){a,b->a.getShortName().toLowerCase()b.getShortName().toLowerCase()}。每个{plugin->
println“${plugin.getShortName()}:${plugin.getVersion()}|${plugin.getDisplayName()}”
}
println“”
println“插件依赖项树(…:依赖项;+++:依赖项):”
println“====================================================”
Jenkins.instance.pluginManager.plugins.sort(false){a,b->a.getShortName().toLowerCase()b.getShortName().toLowerCase()}。每个{plugin->
println“${plugin.getShortName()}:${plugin.getVersion()}|${plugin.getDisplayName()}”
println“+++${plugin.getDependents()}”
println“…${plugin.getDependencies()}”
println“
}
返回

@lan非常感谢您的详细回答。是的,这肯定会有帮助,连同install_plugins.sh脚本一起安装插件列表。再次感谢。@Ian W-听起来你有办法只生成顶级插件(没有DEP)。如果它是正确的,您介意分享吗?@Vano,这个列表是根据我们的需要和上面的依赖关系确定的。你可以从剧本中看出是什么吸引了你;不要添加任何已加入的内容(工作流需要很多。保持简单。开始时使用身份验证(AD、凭据、角色绑定)、组织(文件夹、查看作业筛选器)、管道(工作流ag、管道maven、管道util、k8s、docker),然后添加所需的TFS、Ant。什么管理工具(从站设置、windows从站、confighistory、configslicing、托管脚本、插件使用)。最后,还需要更多步骤(envinject、ext email、ext choice、配置文件、sonar、ws-cleanup)。@Vano,pt.2-甚至在我们移动到管道之前,TFS会拉单Git,但工作流也会拉单Git,所以我们不会将Git列为顶级。
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