Mic*_*ihs 6 groovy jenkins jenkins-plugins jenkins-pipeline
我想对我的Jenkins管道进行飞行前检查,以测试是否安装了某个插件.我发现这篇文章检查一个插件存在于Jenkins管道(Groovy)中,它提出了同样的问题,但提供的答案对我来说不可用,因为他们测试插件提供的DSL方法是否可用,是否插件一般是否可用.
我想拥有的是这样的(在我看来Jenkinsfile
):
pluginAvailable('plugin-name', '0.0.1')
Run Code Online (Sandbox Code Playgroud)
其中0.0.1
可能是(可选)最低版本.
在Pipeline DSL或其他Jenkins课程中有类似的东西吗?
有一段时间有同样的想法,并组合了一个助手,只是清理它并将示例实现发布到 github。
@Library('shared-utilities@development') _
pluginDependencies = [
'pipeline-utility-steps': '', // installed at any version
'scm-api': '2.6.3', // installed and at version 2.6.3
'build-timestamp':'^1.0.3', // installed and at version 1.*
'warnings':'~5.0.0', // installed and at version 5.0.*
'config-file-provider': '>3.6.1', // installed and greater than 3.6.1
'pipeline-utility-steps': '>=2.3.0',// installed and greater than or eq
'workflow-basic-steps': '<2.20', // installed and less than 2.20
'maven-plugin': '<=3.4' // installed and less than or eq 3.4
]
assertPluginsInstalled( requiredPlugins: pluginDependencies )
pipeline{
agent any
stages{
stage( 'one' ){
steps{
sh "echo 'Running stage after making sure required plugins are installed'"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 4
在这里查看第二个答案 -如何获取已安装的詹金斯插件的名称和版本对的列表?
- 创建一个用于解析的groovy脚本(感谢malenkiy_scot)将以下内容保存为plugins.groovy:
def plugins = jenkins.model.Jenkins.instance.getPluginManager().getPlugins()
plugins.each {println "${it.getShortName()}: ${it.getVersion()}"}
创建一个接受插件名称和版本的函数,并通过上面的代码片段迭代生成的文件。
归档时间: |
|
查看次数: |
1324 次 |
最近记录: |