Jenkins有600多个插件,在真实的系统中,我们通常安装很多插件。
有时,我们想要删除一些插件,以使系统更清洁或用另一个成熟的插件替换它(名称不同)。
需要确保没有人/作业使用这些插件,或者我需要通知他们。
在Jenkins系统的配置或其他地方,是否有任何方法可以知道插件是否被任何作业使用?
更新2013年根据下面的答案,我维护简单的“插件:关键字”映射,例如
plugin_keys = {
"git":'scm class="hudson.plugins.git.GitSCM"',
"copyartifact":"hudson.plugins.copyartifact.CopyArtifact",
# and more
}
从config.xml
中搜索插件关键字,所有信息(插件、任务、配置)都可以通过Jenkins远程API获取。
对我很有效。
更新于2014.04.26
在较新的Jenkins版本中,似乎直接在config.xml
中提供了插件名称。
例如:
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.4">
<hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.7.2">
<hudson.plugins.disk__usage.DiskUsageProperty plugin="disk-usage@0.18"/>
<scm class="hudson.plugins.git.GitSCM" plugin="git@1.4.1-SNAPSHOT">
因此,我只需检查config.xml
中的plugin="<plugin name>"
插件,它会再次起作用。更新2014.05.05
在gist jenkins-stats.py中查看完整脚本。
更新2018.6.7
现在有一个插件使用插件支持此功能(尚无REST API)。
plugin=
对于几乎所有插件都有效,但是有一些插件(例如Mask Password)只有这一行。<com.michelin.cio.hudson.plugins.maskpasswords.MaskPasswordsBuildWrapper/>
- vikas027