相关疑难解决方法(0)

Gitlab CI:仅为受保护分支上存在的标记提交运行管道作业

我想创建一个仅在满足以下两个条件时才运行的管道:

  • 标签是指给定的提交
  • 提交存在于任何受保护的分支(即 master)
  • 可选:无论何时将标记的未受保护分支合并(使用合并请求)到受保护分支或将标记添加到受保护分支,都应运行该作业。

我试过了:

publish:
  stage: publish
  script:
    - echo "Publish!"
  rules:
    # Only publish if tag given and commit is present on a protected branch
    - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"'
Run Code Online (Sandbox Code Playgroud)

不作为任何工作$CI_COMMIT_TAG设置$CI_COMMIT_REF_PROTECTED设置为true。

我知道类似的问题:Gitlab ci run job on master with release tag onlyHow to run a gitlab-ci.yml job only on a tagged branch? .

我也知道在 gitlab 的问题中有/曾经有过广泛的讨论,有一些解决方案(或类似的解决方案)像这样

一般的问题似乎是,在 gitlab 中无法确定在给定分支上的提交是否可靠,因为未提供此信息(git 历史记录)。

这个问题是为了在 gitlab CI …

tags conditional-statements gitlab-ci

7
推荐指数
1
解决办法
3765
查看次数

标签 统计

conditional-statements ×1

gitlab-ci ×1

tags ×1