| 条件 | if(CI 变量表达式)、changes(路径)、exists(文件) |
|---|---|
| 动作 | when(on_success/never/manual/delayed) |
| 默认 | 未命中任何规则的作业不运行 |
| 取反 | 用 when: never 提供反例分支 |
MR 与主分支两种运行
MR 与主分支两种运行
deploy:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: manual
- if: '$CI_COMMIT_BRANCH == "main"'
when: on_success
- when: never规则自上而下逐条匹配、命中即采用:把更具体的条件放在前面,最后的兜底规则常写 when: never。