在 Jenkins 中复制 gitlab-ci 的标签触发器

问题描述 投票:0回答:1

我想复制我的 .gitlab-ci 标签触发器,gitlab 将在其中检查新标签并使用该标签作为要构建的 git 存储库。在詹金斯中,我已经找到了如何触发它,但是构建的存储库不是标签。我的问题是:

如何使用触发构建的新标签?使用“tags/*”作为“要构建的分支”中的值是否总是创建最新的标签?

这是我的工作 .gitlab-ci 规则,它将使用新的提交标签而不是分支:

workflow:
  rules:
    - if: '$CI_COMMIT_TAG =~ /^v[0-9]*\.[0-9]*\.[0-9]*-dev-build-[0-9]*$/'
      variables:                              
        deploy_env: "development"
    - if: '$CI_COMMIT_TAG =~ /^v[0-9]*\.[0-9]*\.[0-9]*-stg-build-[0-9]*$/'
      variables:                              
        deploy_env: "staging"
    - if: '$CI_COMMIT_TAG =~ /^v[0-9]*\.[0-9]*\.[0-9]*-prd-build-[0-9]*$/'
      variables:               
        deploy_env: "production"
    - if: '$CI_COMMIT_TAG =~ /^v[0-9]*\.[0-9]*\.[0-9]*-drc-build-[0-9]*$/'
      variables:                              
        deploy_env: "production-drc"
git jenkins tags gitlab-ci pipeline
1个回答
0
投票

没关系,我自己找到了解决方案:

  1. 在 jenkins 和 gitlab(或其他 git 提供商)之间设置 webhook
  2. 在标签事件上设置 gitlab 触发 webhook
  3. 将“来自 scm 的管道”refspec 设置为“+refs/tags/:refs/remotes/origins/tags/
  4. 将要构建的分支设置为“**”
  5. 禁用轻量级结账

gitlab 将触发 jenkins 的 webhook,其中包含标记文件。

© www.soinside.com 2019 - 2024. All rights reserved.