在主分支上运行 Gitlab CI/CD 作业,但作业不应在从主分支到其他分支的 MR 上运行

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

我添加了 gitlab CI/CD 作业,该作业应在 MR 合并到 master 后运行。

Test:
  stage: test
  script:
    - echo "hello world"
  rules:
    - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /main|master/
    when: never
  - if: '$CI_COMMIT_REF_NAME == "main" && $CI_PIPELINE_SOURCE != "merge_request_event"'
    when: manual

当 mr 合并到 main 时,此作业就会运行。但是当 MR 从

main
分支到另一个分支时,作业也会运行。 我怎样才能避免这种情况。作业只能在 mr 合并到 master 时运行。

gitlab gitlab-ci
1个回答
0
投票
Test:
  stage: test
  script:
    - echo "hello world"
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
      when: manual

通过上述更改,应该足以识别您正在合并对

main
的更改,因为合并是到默认分支的推送事件。使用
$CI_COMMIT_BRANCH
排除了 MR 管道,因为它仅在提交时可用。

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