首页 > 解决方案 > 一旦 master 接受合并请求,是否可以触发 gitlab-ci 管道

问题描述

作为我的项目要求的一部分,一旦合并请求合并到 master,我必须触发管道以创建一个 git 标签。但遗憾的是,我在 GitLab-ci 上找不到任何选项。以下代码的问题是即使有人正在创建合并请求,管道也会被触发。任何指针都会非常有帮助。

post-merge:
  only:
    refs:
      - master

  script:
    - echo "Creating a git tag"
    - 'curl -X POST -k -H  "PRIVATE-TOKEN: XXXXXXX" "https://gitlab.com/api/v4/projects/1/repository/tags?tag_name=$MODULE-$VERSION&ref=master"'

标签: gitlabgitlab-cigitlab-ce

解决方案


你可以让阶段只在主分支上运行,就像你做的那样:

post-merge:
  only:
    refs:
      - master

并且它们只会在某些内容合并到您的主分支后运行,考虑到您已保护此分支并且没有合并请求没有人可以推送。


推荐阅读