Gitlab ci 仅在带有发布标签的 master 上运行作业

dor*_*and 6 gitlab-ci

我想仅在设置发布标签时在 master 分支上构建 docker 映像。这是我的.gitlab.ci

build:
  rules:
    - if: '$CI_COMMIT_TAG != null && $CI_COMMIT_REF_NAME == "master"'
  script:
    - echo "Building $IMAGE:${CI_COMMIT_TAG}"
Run Code Online (Sandbox Code Playgroud)

这不起作用,我合并到 master 和release标签,但构建作业甚至没有开始。

我也尝试过only部分:

build:
  only:
    - master
    - tags
  script:
    - echo "Building $IMAGE:${CI_COMMIT_TAG}"
Run Code Online (Sandbox Code Playgroud)

即使CI_COMMIT_TAG不存在,它也会每次运行。CI_COMMIT_TAG有没有办法,仅当分支上存在时才强制运行作业master

Kou*_*und 5

到目前为止,gitlab 中还没有针对此问题的适当内置解决方案。为了跟踪正确解决方案的开发并保持工作解决方法的更新,我创建了:Gitlab CI:仅针对受保护分支上存在的标记提交运行管道作业


Tho*_*ler -3

build:
  only:
    - tags
Run Code Online (Sandbox Code Playgroud)

仅当设置(或推送)标签时,您才能运行作业。如果你master在那里,它会在 master 上的每次提交上运行。如果没有,master它只会在设置标签后运行。