Runner 范围 (FREE)
Runner 可根据您想要访问的人提供:
- 共享 runners,可用于极狐GitLab 实例中的所有群组和项目。
- 群组 runners,可用于群组中的所有项目和子组。
- 指定 runners 与特定项目相关联。通常,指定 runner 同时间用于一个项目。
Shared runners
共享 runners 可用于极狐GitLab 实例中的每一个项目。
当您有多个具有相似要求的作业时,请使用共享 runner。与其让多个 runner 闲置在许多项目中,不如让几个 runner 处理多个项目。
如果您使用的是极狐GitLab 的私有化部署实例:
- 您的管理员可以通过转到项目的 设置 > CI/CD,展开 Runners 部分,然后单击 显示 runner 安装和注册说明 来安装和注册共享 runner。
- 管理员还可以配置提供给共享 runner 的每个群组的 CI/CD 分钟数 的最大数量。
如果您在使用 SaaS:
- 您可以从极狐GitLab 维护的共享 runner 列表中进行选择。
- 共享 runner 消耗您帐户中包含的 CI/CD 分钟数。
为项目启用共享 runners
在 SaaS 上,默认情况下在所有项目中启用共享 runners。
在极狐GitLab 的私有化部署实例上,管理员可以为所有新的项目启用它们。
对于现有项目,管理员必须安装并注册它们。
要为项目启用共享 runner:
- 转到项目的 设置 > CI/CD 并展开 Runners 部分。
- 选择 为该项目启用共享 Runner。
为群组启用共享 runners
要为群组启用共享 runners:
- 转到组的 设置 > CI/CD 并展开 Runners 部分。
- 选择 为该组启用共享 Runner。
为项目禁用共享 runners
您可以为单个项目或群组禁用共享 runner。 您必须具有项目或群组的所有者角色。
要禁用项目的共享 runner:
- 转到项目的 设置 > CI/CD 并展开 Runners 部分。
- 在 共享 runner 区域中,选择 为该项目启用共享 Runner,使切换显示为灰色。
项目的共享 runner 在以下情况会自动禁用:
- 如果父组的共享 runner 设置被禁用,并且
- 如果在项目级别不允许覆盖此设置。
为群组禁用共享 runners
要为群组禁用共享 runner:
- 转到组的 设置 > CI/CD 并展开 Runners 部分。
- 在 共享 runner 区域,关闭 为该群组启用共享 Runner 开关。
- (可选)要允许为单个项目或子组启用共享 runner,请单击 允许项目和子群组覆盖群组设置。
NOTE: 要为群组重新启用共享 runner,请打开 为该群组启用共享 Runner 切换。然后,所有者或维护者必须为每个项目子组或项目,显式更改此设置。
共享 runner 如何选择作业
共享 runner 通过使用公平使用队列来处理作业。此队列可防止项目创建数百个作业并使用所有可用的共享 runner 资源。
公平使用队列算法根据已在共享 runner 上运行的作业数量最少的项目分配作业。
示例 1
如果以下作业在队列中:
- Job 1 for Project 1
- Job 2 for Project 1
- Job 3 for Project 1
- Job 4 for Project 2
- Job 5 for Project 2
- Job 6 for Project 3
公平使用算法按以下顺序分配作业:
- Job 1 排在第一位,因为它在没有运行作业的项目(即所有项目)中具有最低的作业编号。
- 接下来是 Job 4,因为 4 现在是没有运行作业的项目中的最低作业编号(项目 1 有作业正在运行)。
- 接下来是 Job 6,因为 6 现在是没有运行作业的项目中的最低作业编号(项目 1 和 2 有作业正在运行)。
- 接下来是 Job 2,因为在运行作业数量最少的项目中(每个项目都有 1),它是作业编号最少的项目。
- 接下来是 Job 5,因为项目 1 现在有 2 个作业正在运行,而 Job 5 是项目 2 和 3 之间剩余的最低作业编号。
- 最后是 Job 3,因为它是唯一剩下的作业。
示例 2
如果以下作业在队列中:
- Job 1 for Project 1
- Job 2 for Project 1
- Job 3 for Project 1
- Job 4 for Project 2
- Job 5 for Project 2
- Job 6 for Project 3
公平使用算法按以下顺序分配作业:
- 首先选择 Job 1,因为它在没有运行作业的项目(即所有项目)中具有最低的作业编号。
- 我们完成 Job 1。
- 接下来是 Job 2,因为在完成 Job 1 后,所有项目都有 0 个作业再次运行,而 2 是可用的最低作业编号。
- 接下来是 Job 4,因为在项目 1 运行作业的情况下,4 是未运行作业的项目(项目 2 和 3)中的最低数字。
- 我们完成 Job 4。
- 接下来是 Job 5,因为完成了 Job 4,项目 2 没有再次运行作业。
- 接下来是 Job 6,因为项目 3 是唯一没有运行作业的项目。
- 最后我们选择 Job 3,它是唯一剩下的作业。
群组 runner
当您希望群组中的所有项目都可以访问一组 runner时,请使用群组 runner。
群组 runner 使用先进先出 (FIFO) 队列来处理作业。
创建群组 runner
引入于 14.10 版本,路径从 设置 > CI/CD > Runners 变更而来。
您可以为私有化部署版极狐 GitLab 实例或 SaaS 创建群组 runner。 您必须具有该群组的所有者角色。
要创建群组 runner:
- 安装 GitLab Runner。
- 转到您想让 runner 工作的群组。
- 在左侧边栏上,选择 CI/CD > Runners。
- 记下 URL 和令牌。
- 注册 Runner。
查看并管理群组 runners
您可以查看和管理一个群组、其子组和项目的所有 runner。 您可以为自己管理的极狐GitLab 实例或 SaaS 执行此操作。 您必须具有该群组的所有者角色。
-
进入你要查看 runner 的群组。
-
在左侧边栏上,选择 CI/CD > Runners。
-
显示以下字段。
属性 描述 类型 显示 runner 类型: group或specific,以及可选状态pausedRunner 令牌 用于识别 runner 的令牌,以及 runner 用来与极狐GitLab 实例进行通信的令牌 描述 创建 runner 时给予的描述 版本 GitLab Runner 版本 IP 地址 runner 注册的主机 IP 地址 项目 分配给 runner 的项目数 作业 Runner 运行的作业总数 标签 与 runner 相关的标签 最后联系 指示极狐GitLab 实例上次联系 runner 的时间戳
在此页面中,您可以从群组、其子组和项目中编辑、暂停和删除 runner。
暂停或移除群组 runner
您可以为私有化部署版实例或 SaaS 暂停或移除群组 runner。 您必须具有该群组的所有者角色。
- 转到您要删除或暂停 runner 的群组。
- 在左侧边栏上,选择 CI/CD > Runners。
- 点击 暂停 或 移除 Runner。
- 如果您暂停多个项目使用的群组 runner,runner 会暂停所有项目。
- 从群组视图中,您不能移除分配给多个项目的 runner。您必须先将其从每个项目中删除。
- 在确认对话框中,单击 确定。
指定 runner
当您想将跑步者用于特定项目时,请使用特定跑步者。 例如,当您有:
- 具有特定要求的作业,例如需要凭据的部署作业。
- 具有大量 CI 活动的项目可以从与其它 runner 分开中受益。
您可以设置一个指定 Runner 供多个项目使用。必须为每个项目明确启用指定 Runner。
指定 Runner 使用先进先出 (FIFO) 队列来处理作业。
NOTE: 指定 Runner 不会自动与派生项目共享。 派生复制了克隆仓库的 CI/CD 设置。
创建指定 runner
您可以为私有化部署版实例或 SaaS 创建指定 runner。
先决条件:
- 您必须至少具有项目的维护者角色。
要创建指定的 runner:
- 安装极狐GitLab Runner。
- 在顶部栏,选择 菜单 > 项目 并找到您要使用 runner 的项目。
- 在左侧边栏,选择设置 > CI/CD。
- 展开 Runner。
- 在 指定 Runner 部分,记下 URL 和令牌。
- 注册 runner。
现在为项目启用了 runner。
为另一个项目启用指定 runner
创建指定 runner 后,您可以为其他项目启用它。
先决条件:
- 您必须在已启用 runner 的项目中,至少具有维护者角色。
- 您必须在要启用 runner 的项目中,至少具有维护者角色。
- 指定 runner 不得锁定。
要为项目启用指定 runner:
- 在顶部栏,选择 菜单 > 项目 并找到您要启用 runner 的项目。
- 在左侧边栏,选择 设置 > CI/CD。
- 展开 流水线通用设置。
- 展开 Runner。
- 通过您想要的 runner,选择 为此项目启用。
您可以从启用它的任何项目中编辑指定 runner。 包括解锁、编辑标签和描述在内的修改会影响所有使用 runner 的项目。
管理员可以为多个项目启用 runner。
防止为其它项目启用指定 runner
您可以配置指定 runner,使其锁定,并且无法为其它项目启用。 首次注册 runner 时可以启用此设置,但也可以稍后更改。
锁定或解锁指定 runner:
- 转到项目的 设置 > CI/CD。
- 展开 Runners 部分。
- 找到您要锁定或解锁的指定 runner,确保它已启用。您不能锁定共享或群组 runner 。
- 选择 编辑 ({pencil})。
- 选中 锁定到当前项目 选项。
- 选择 保存更改。