通过脚本删除 Jenkins 插件

Remove Jenkins Plugins via Script

有谁知道如何从脚本中删除 jenkins 插件?我知道没有适用于它的 CLI 命令。但是想知道,也许你可以只删除插件文件夹,并尝试删除所有关联数据。

我想要这个的原因是我想开发一个每晚都会 运行 的脚本。它将扫描每个 Jenkins 服务器,如果在 GIT 中存储的文件中没有找到插件,它将被删除,如果添加了新插件,它将添加插件,如果版本不匹配,则会升级或降级其他插件。目标是尽可能保持所有 Jenkins 服务器同步。

关于如何实现这个目标有什么想法吗?

groovy 删除插件的脚本:

String pluginNameToRemove = "myPluginToRemove"
def jenkins = Jenkins.getInstance()
def pluginManager = jenkins.getPluginManager()
def pluginWrapperToUninstall = pluginManager.getPlugin(pluginNameToRemove)
pluginWrapperToUninstall.doDoUninstall()

也可以去掉plugins文件夹的内容,根据文件下载所有你想要的插件,复制到plugins文件夹下,重启jenkins即可。 (我们在部署 jenkins 实例的环境中有非常相似的流程)