Help us learn about your current experience with the documentation. Take the survey.
运行器
运行器是运行 GitLab Runner 应用程序的代理,用于在管道中执行 GitLab CI/CD 作业。
它们负责运行你在 .gitlab-ci.yml 文件中定义的构建、测试、部署和其他 CI/CD 任务。
运行器执行流程
以下是运行器工作流程的基本说明:
- 运行器必须先向 GitLab 注册,这会在运行器和 GitLab 之间建立持久连接。
- 当管道被触发时,GitLab 将作业提供给已注册的运行器。
- 匹配的运行器拾取作业,每个运行器一个作业,并执行它们。
- 结果实时报告回 GitLab。
更多信息请参见 运行器执行流程。
运行器作业调度和执行
当需要执行 CI/CD 作业时,GitLab 根据 .gitlab-ci.yml 文件中定义的任务创建作业。
作业被放入队列中。GitLab 检查匹配的可用运行器:
- 运行器标签
- 运行器类型(如共享或组)
- 运行器状态和容量
- 所需能力
分配的运行器接收作业详情。运行器准备环境并按照 .gitlab-ci.yml 文件中指定的运行作业命令。
运行器类别
在决定要使用哪些运行器执行你的 CI/CD 作业时,你可以选择:
- GitLab 托管的运行器 适用于 GitLab.com 或 GitLab Dedicated 用户。
- 自管理运行器 适用于所有 GitLab 安装。
运行器可以是组运行器、项目运行器或实例运行器。GitLab 托管的运行器是实例运行器。
GitLab 托管的运行器
- 版本:免费版、高级版、旗舰版
- 提供:GitLab.com、GitLab Dedicated
GitLab 托管的运行器是:
- 由 GitLab 完全管理。
- 无需设置即可立即使用。
- 在每个作业上运行在新的虚拟机上。
- 包括 Linux、Windows 和 macOS 选项。
- 根据需求自动扩展。
在以下情况下选择 GitLab 托管的运行器:
- 你想要零维护的 CI/CD。
- 你需要快速设置而不需要管理基础设施。
- 你的作业需要在运行之间隔离。
- 你正在使用标准的构建环境。
- 你正在使用 GitLab.com 或 GitLab Dedicated。
自管理运行器
- 版本:免费版、高级版、旗舰版
- 提供:GitLab.com、GitLab 自管理版、GitLab Dedicated
自管理运行器是:
- 由你安装和管理。
- 在你自己的基础设施上运行。
- 可根据你的需求定制。
- 支持各种执行器(包括 Shell、Docker 和 Kubernetes)。
- 可以共享或设置为特定的项目或组。
在以下情况下选择自管理运行器:
- 你需要自定义配置。
- 你想在私有网络中运行作业。
- 你需要特定的安全控制。
- 你需要项目或组运行器。
- 你需要通过重用运行器来优化速度。
- 你想管理自己的基础设施。