新分支的 GitlabCI 和管道

GitlabCI and pipeline for a new branch

提问人:Pum Purum 提问时间:11/16/2023 更新时间:11/17/2023 访问量:53

问:

默认情况下,Gitlab CI 在创建新分支时启动管道(基于现有分支,甚至不是主分支)。我不明白如何关闭它?创建新分支时,它不应运行管道和作业。仅当推入分支并打开 MR 时。

我现在有这个,但它不起作用。

workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_PIPELINE_SOURCE == "push"
GitLab-CI

评论


答:

2赞 sytech 11/17/2023 #1

您可以检查创建新分支时CI_COMMIT_BEFORE_SHA。像这样:0000000000000000000000000000000000000000

workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    # uncomment if you want tag pipelines 
    # - if: $CI_COMMIT_TAG
    - if: $CI_COMMIT_BEFORE_SHA == "0000000000000000000000000000000000000000"
      when: never
    - if: $CI_PIPELINE_SOURCE == "push"

或者,如果要从 CLI 推送新分支,则可以使用 git push 选项跳过管道:

git push -o ci.skip