Jenkins Pipeline不遵循git checkout的excludeMessage选项

3

我的Jenkins流水线在第一个阶段检出GIT代码库,因此我正在使用

checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'MessageExclusion', excludedMessage: '.*\\[Gradle-Release-Plugin\\].*'], [$class: 'LocalBranch', localBranch: 'master']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '48b64fd8-f0c8-4bcd-91e8-58f763e9be0c', url: 'https://bitbucket.org/private/private.git']]])

为了防止自动版本更改提交的构建,使用excludeMessage选项。然而,如果提交符合这种模式,Jenkins仍会启动构建。正则表达式模式是正确的,我已经仔细检查过了。有人遇到同样的问题吗?


也许尝试使用一个更简单的正则表达式,如.*Gradle-Release-Plugin.*,即不需要转义方括号等字符。开头和结尾需要使用.*吗? - Sameer Naik
我尝试使用更简单的表达方式,但似乎出现了一个错误,就像答案中所述。 - hitty5
1个回答

2

确实存在一个bug,其解决方案仍未确定。

请参阅问题JENKINS-36195“Pipeline轮询忽略特殊轮询规则”
这个问题也出现在"JENKINS-35988组织工作“分支索引”忽略在jenkinsfile中定义的排除区域"中。

目前的评估是:

由于git插件在执行轮询时不读取Jenkinsfile的内容,我不确定它如何遵守仓库中Jenkinsfile内的轮询设置。
在具有多个分支的仓库中,情况可能会更加复杂,因为轮询设置可能会因相同仓库中的不同分支而有所不同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接