在 Gitlab CI 中批准合并请求后如何运行管道?

Moh*_*imi 8 gitlab-ci

我希望 GitLab CI 在合并请求合并后运行作业。我不希望它在创建新的合并请求时运行,而且我也不希望它在目标分支更新时运行。(因为可以直接提交到目标分支,并且该作业不应在这种情况下运行。)

那可能吗?

如果是,我还想知道有关触发作业的合并请求的信息。

(实际上,当合并请求被合并时,我想更新我的项目管理系统。因此我需要知道哪个合并请求被合并(或批准)。)

提前致谢。

uup*_*cal 8

我希望 GitLab CI 在合并请求合并后运行作业。

不幸的是,GitLab 不提供“合并请求合并”触发器。

您可以做的是让管道针对某个分支中的任何推送运行,并使用分支保护来确保推送只能来自合并请求。要做到这一点:

  1. 将管道设置为仅针对分支 main 运行:
# if you want to use "only":
my_job: 
  only:
    - main

# or alternatively if you want to use rules you can do the same with: 
my_job:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == "master"'
Run Code Online (Sandbox Code Playgroud)
  1. 启用分支保护以禁用直接推送到主干并仅允许 MR: 在此输入图像描述