一旦在主服务器上接受合并请求,是否有可能触发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"'

解决方法

您可以像在此那样仅在master分支上运行阶段:

post-merge:
  only:
    refs:
      - master

考虑到您已经保护了该分支,没有合并请求,任何人都无法推送,它们只会在将某些东西合并到您的master分支中后运行。