触发jenkins使用多分支管道在标签创建上进行构建

时间:2018-09-19 10:53:02

标签: jenkins jenkins-pipeline jenkins--x

my Jenkinsfile中,我有一个阶段要从与标签名称过滤器匹配的标签进行构建:

      stage('Build Release from Tag') {
        when {
          tag '*RELEASE'
        }

为了使标签被发现,我不得不在Branch sources > GitHub下向我的管道添加标签发现和标签名称regex的匹配项:

enter image description here

管道不会发现我推送的与过滤器匹配的标签。如果我单击一个为其运行构建,则它会运行与条件标签匹配的构建阶段。但是我期望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),那么我想知道可以添加哪些其他配置来自动触发构建?

1 个答案:

答案 0 :(得分:3)

我只需要更仔细地阅读https://issues.jenkins-ci.org/browse/JENKINS-47496。默认情况下,标记不会自动构建。您必须安装Basic Branch Build Strategies plugin并激活管道标记的构建。我这样做了,现在它会自动构建标签。