在my Jenkinsfile中,我有一个阶段要从与标签名称过滤器匹配的标签进行构建:
stage('Build Release from Tag') {
when {
tag '*RELEASE'
}
为了使标签被发现,我不得不在Branch sources > GitHub
下向我的管道添加标签发现和标签名称regex的匹配项:
管道不会发现我推送的与过滤器匹配的标签。如果我单击一个为其运行构建,则它会运行与条件标签匹配的构建阶段。但是我期望based on my interpretation of a blogpost的构建会像分支的构建一样自动开始。
在扫描存储库日志中,我看到如下输出:
Checking tag TEST0.1.3.RELEASE
‘Jenkinsfile’ found
Met criteria
Changes detected: TEST0.1.3.RELEASE (null → 4aea4ec43c1daf8290ea438ce0bf1a14a6afbc46)
No automatic builds for TEST0.1.3.RELEASE
我还可以在repository events
日志中看到输出,例如Received Push event for tag TEST.0.1.8.RELEASE in repository ryandawsonuk/activiti-build CREATED event
,因此Jenkins知道正在创建标签。 (我想我已经知道了,因为它会发现它们并在UI中显示它们,除非我手动触发构建,否则它不会构建它们。)
我应该说我正在使用Jenkins-X。据我所知,这是一个詹金斯问题,与Jenkins-X无关,但我可能忽略了某些事情。
如果管道应该在创建标签时自动触发(似乎Jenkins支持but I'm not 100% sure),那么我想知道可以添加哪些其他配置来自动触发构建?
答案 0 :(得分:3)
我只需要更仔细地阅读https://issues.jenkins-ci.org/browse/JENKINS-47496。默认情况下,标记不会自动构建。您必须安装Basic Branch Build Strategies plugin
并激活管道标记的构建。我这样做了,现在它会自动构建标签。