首页 > 解决方案 > 仅在 master 上基于 Gitlab CI 标签的发布管道

问题描述

我正在寻找一种方法来确保 Gitlab CI 中的某些作业(发布)仅在分支是主分支并且使用的标记与特定模式匹配时才运行。为此,我使用了以下语句,但由于某种原因,Gitlab 不能同时识别分支和标签,而且似乎这个语句永远不会正确。

building:
   stage: build
   only:
      refs:
         - master
      variables:
         - $CI_COMMIT_REF_NAME =~  /^v[0-9]+\.[0-9]+(\.[0-9]*)?/
   script:
      - echo "Start building"

我也尝试过相同的脚本CI_COMMIT_TAG,但是没有用。

我不能-tags用于该only部分,因为它会被任何标签触发,无论标签格式是什么。

PS:我正在使用以下命令将发布标签添加到master.

git tag -a v2.1.3 -m "Releasing version v2.1.3"
git push --tags

标签: gitgitlabgitlab-ci

解决方案


推荐阅读