中级第 7 / 11 节35 分钟 · 实操
Docker 任务 (jobs) 和服务 (services)
GitLab CI 课程的一部分
流水线的运行器就是一台空白机器,默认情况下它根本不知道你的项目需要 Python 3.12、某个特定版本的 Node,或者任何别的工具。放着不管,它就把手头那个普通的通用环境丢给你的作业,而真实的测试套件很少能靠这种环境跑起来。更麻烦的是,大多数真实的测试套件要的不只是一个语言运行时,它们需要一个数据库在整个作业期间一直在那里响应查询,或者需要一个队列一直在接收消息。在每一次作业运行里都从头安装并启动一个数据库,既慢又脆弱,而且白白丢掉了 Docker 最好用的一招:一个已经装好你所需一切的容器,构建一次就能一直复用。GitLab CI 给了你两个关键字,把这两个问题一并解决:image: 决定你自己的脚本在哪个容器里运行,services: 则在旁边额外启动一些容器,纯粹是为了让作业去跟它们通信。
把运行器的默认环境想成一张空工作台:台面是有的,但你真正要用的工具一件都没摆上去。image: 这个关键字就是在告诉 GitLab:在跑这个作业的脚本之前,先给我换一张配齐了的工作台,上面已经装好了 Python、Node,或者这个作业需要的任何东西。 ...
想在真实环境里学习 GitLab CI Docker 任务 (jobs) 和服务 (services) 吗?
点击下方,立即获得一台预装 GitLab CI 的 Linux 主机,跟懂你代码的 AI 导师一起完成 Docker 任务 (jobs) 和服务 (services) 的实操练习。
开始这节课Docker 任务 (jobs) 和服务 (services)你将学到什么
- Image keyword
- Services keyword
- Postgres service
- Redis service
- Docker-in-docker
- Service networking
用你的语言阅读本课
本课程的所有课时
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小时
