运行 仅用于提交的 gitlab 管道
Run gitlab pipeline only for commits
目前 gitlab 运行在使用 GUI 创建合并请求 + 分支时是一个管道。
是否可以跳过此管道,因为它只重复默认分支的最后一个管道?
我们试过:
workflow:
rules:
- if: $CI_MERGE_REQUEST_IID
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
这可以跳过新的分支管道,但它不会运行没有合并请求的分支上的新提交管道。
为了在创建新分支时停止管道执行,同时运行在分支上发生新提交时
尝试更改:
workflow:
rules:
- if: $CI_MERGE_REQUEST_IID
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
到
workflow:
rules:
- if: $CI_COMMIT_BEFORE_SHA == "0000000000000000000000000000000000000000"
when: never
- if: $CI_MERGE_REQUEST_IID
- if: $CI_PIPELINE_SOURCE == "push"
规则
- if: $CI_COMMIT_BEFORE_SHA == "0000000000000000000000000000000000000000"
when: never
创建新分支时将停止执行新管道
规则
- if: $CI_PIPELINE_SOURCE == "push"
这是为了在分支上发生提交时允许触发新的管道,
因为如果事件不是合并请求,管道将不会执行。
目前 gitlab 运行在使用 GUI 创建合并请求 + 分支时是一个管道。
是否可以跳过此管道,因为它只重复默认分支的最后一个管道?
我们试过:
workflow:
rules:
- if: $CI_MERGE_REQUEST_IID
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
这可以跳过新的分支管道,但它不会运行没有合并请求的分支上的新提交管道。
为了在创建新分支时停止管道执行,同时运行在分支上发生新提交时
尝试更改:
workflow:
rules:
- if: $CI_MERGE_REQUEST_IID
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
到
workflow:
rules:
- if: $CI_COMMIT_BEFORE_SHA == "0000000000000000000000000000000000000000"
when: never
- if: $CI_MERGE_REQUEST_IID
- if: $CI_PIPELINE_SOURCE == "push"
规则
- if: $CI_COMMIT_BEFORE_SHA == "0000000000000000000000000000000000000000"
when: never
创建新分支时将停止执行新管道
规则
- if: $CI_PIPELINE_SOURCE == "push"
这是为了在分支上发生提交时允许触发新的管道, 因为如果事件不是合并请求,管道将不会执行。