Gitlab 仅在 PR/MR 获得批准时才触发 CI/CD 管道

问题描述 投票:0回答:1

我在我的

.gitlab-ci.yml
文件中添加了以下规则,仅当 PR 合并到主管道时运行 CI/CD 管道,但它在未经批准后提出的每个 PR/MR 请求上运行。

- if: $CI_MERGE_REQUEST_APPROVED && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"
   when: always

如果我做错了什么,有人可以指出我吗?我已经保护了主分支。

提前致谢。

git gitlab continuous-integration gitlab-ci cd
1个回答
0
投票

经过研究发现,GitLab CI/CD 本身并没有提供仅在主分支的合并请求 (MR) 获得批准时触发管道的直接方法。管道一般由代码推送、合并请求等事件触发,但没有内置功能可以根据 MR 批准直接触发。

只要有这个规则,当提交到主分支时就会触发管道。由于在 MR/PR 批准后 gitlab 创建了对 main 的合并提交,因此它将在批准合并提交到 main 后触发管道。它工作正常。这就是我想要的。

  rules:
    - if: $CI_COMMIT_BRANCH == "main" 

© www.soinside.com 2019 - 2024. All rights reserved.