相关疑难解决方法(0)

如何知道插件是否被jenkins中的任何作业使用

Jenkins有600多个插件,在真实系统中,我们习惯于安装大量插件.

有时,我们想删除一些插件以使系统更干净或用另一个成熟的插件(不同的名称)替换.

这需要确保没有人/没有工作使用这些插件或我需要通知他们.

在Jenkins系统中是否有任何配置或知道该插件是否被任何作业使用的方法?

更新2013 根据下面的答案,我维护简单的"插件:关键字"映射,如

plugin_keys = {
    "git":'scm class="hudson.plugins.git.GitSCM"',
    "copyartifact":"hudson.plugins.copyartifact.CopyArtifact",
        # and more      
}
Run Code Online (Sandbox Code Playgroud)

并从中搜索plugin关键字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">
Run Code Online (Sandbox Code Playgroud)

因此,我只是检查这个plugin="<plugin name>"config.xml,它再次工作

更新2014.05.05

请参阅gist jenkins-stats.py中的完整脚本

更新2018.6.7

插件使用的插件支持这个(没有REST API还)

jenkins jenkins-plugins

38
推荐指数
3
解决办法
1万
查看次数

如何测试是否在Pipeline DSL(Groovy)中安装了Jenkins插件

我想对我的Jenkins管道进行飞行前检查,以测试是否安装了某个插件.我发现这篇文章检查一个插件存在于Jenkins管道(Groovy)中,它提出了同样的问题,但提供的答案对我来说不可用,因为他们测试插件提供的DSL方法是否可用,是否插件一般是否可用.

我想拥有的是这样的(在我看来Jenkinsfile):

pluginAvailable('plugin-name', '0.0.1')
Run Code Online (Sandbox Code Playgroud)

其中0.0.1可能是(可选)最低版本.

在Pipeline DSL或其他Jenkins课程中有类似的东西吗?

groovy jenkins jenkins-plugins jenkins-pipeline

6
推荐指数
2
解决办法
1324
查看次数