中级第 6 / 11 节30 分钟 · 实操
规则 (rules) 和条件任务 (jobs)
GitLab CI 课程的一部分
到目前为止你写的每一个作业 (job),不管提交落在哪个分支上、也不管流水线 (pipeline) 是因为什么启动的,每次推送都会照跑不误。你一个人做实验时这没什么害处,可一旦有真实的团队在往真实的项目里推代码,害处马上就来了。谁也不希望有人改了 README 里的一个拼写错误,就带起一套要跑三十分钟的集成测试。谁也不希望某个部署作业只因为碰巧走的是同一条流水线,就悄无声息地把一个做了一半的功能分支发上生产环境。作业真正需要的,是一种审视自身处境的能力:是哪个分支触发了它、流水线是被什么样的事件启动的、这次到底改了哪些文件,然后自己决定要不要参与这一轮运行。做这个决定的,就是 rules:。
可以把 rules: 块看成一串顺序固定的是非题,像一张写着"第 1 题答是就到此为止,照它说的办,否则接着看第 2 题"的表格。GitLab CI 里的一条规则,正好就是这个列表中的一项,GitLab 从最上面开始,一条一条往下检查,碰到第一条匹配的就停住。那条匹配的规则说什么就是什么:运行这个作业、改成手动运行、或者干脆不运行,而它后面的规则连看都不会再看一眼。 ...
想在真实环境里学习 GitLab CI 规则 (rules) 和条件任务 (jobs) 吗?
点击下方,立即获得一台预装 GitLab CI 的 Linux 主机,跟懂你代码的 AI 导师一起完成 规则 (rules) 和条件任务 (jobs) 的实操练习。
开始这节课规则 (rules) 和条件任务 (jobs)你将学到什么
- Rules keyword
- If conditions
- CI_COMMIT_BRANCH
- CI_PIPELINE_SOURCE
- When manual
- Changes paths
- Rules vs only/except
用你的语言阅读本课
本课程的所有课时
11 节探索其他课程
Python
19 节 · 9.3小时
Go
20 节 · 12.3小时
React
17 节 · 10.2小时
Linux
17 节 · 8.5小时
Docker
13 节 · 6.6小时
Git
13 节 · 5.9小时
Kubernetes
14 节 · 8小时
Ansible
12 节 · 6.1小时
Bash
12 节 · 5.7小时
Helm
10 节 · 5.4小时
Jenkins
11 节 · 5.3小时
PostgreSQL
14 节 · 7.6小时
MySQL
13 节 · 6.8小时
Web
14 节 · 5.9小时
TypeScript
18 节 · 7.7小时
Vibe Coding
12 节 · 5.8小时
Prompt Engineering
11 节 · 6.2小时
Vibe 编程:基础
12 节 · 4.5小时
Vibe 编程:从原型到生产
12 节 · 5.5小时
Vibe 编程:多智能体工程
12 节 · 5.3小时
Vibe 编程:高级工程
12 节 · 7.3小时
