我的Jenkinsfile中有一个阶段,用于从匹配标签名称过滤器的标签构建:
stage('Build Release from Tag') {
when {
tag '*RELEASE'
}
为了让标签被发现,我必须添加标签发现和标签名称正则表达式的匹配项,并添加到我的管道中Branch sources > GitHub
:
管道确实会发现我推送的与过滤器匹配的标签。如果我单击一个为其运行构建,那么它会运行与条件标签匹配的构建阶段。但根据我对 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 问题,与 Jenkins-X 的任何特定内容无关,但我可能会忽略一些东西。
如果管道应该在标签创建时自动触发(似乎 Jenkins 支持,但我不是 100% 确定),那么我想知道我可以添加哪些额外的配置来自动触发构建?