... | ... | @@ -22,7 +22,7 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
|
|
|
如果你使用的是 CODECHINA 的自我管理实例:
|
|
|
|
|
|
* 你的管理员可以通过查看[此处](https://docs.CODECHINA.com/runner/install/index.html)的说明来安装和注册共享 runner。
|
|
|
* 你的管理员可以通过查看[此处](https://docs.gitlab.com/runner/install/index.html)的说明来安装和注册共享 runner。
|
|
|
* 管理员还可以为每个组配置最大的共享 Runner 流水线分钟数。
|
|
|
|
|
|
如果你使用的是 CODECHINA:
|
... | ... | @@ -112,7 +112,7 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
|
|
|
1. 安装 Runner。
|
|
|
2. 转到你要使 Runner 运行的组。
|
|
|
3. 去 **设置> DevOps**,然后展开 **Runners**部分。
|
|
|
3. 去 **设置> DevOps**,然后展开 **Runners** 部分。
|
|
|
4. 记下 URL 和令牌。
|
|
|
5. 注册 Runner。
|
|
|
|
... | ... | @@ -121,7 +121,7 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
你可以查看和管理组,其子组和项目的所有 runners。 你可以为自己管理的 CODECHINA 实例或 codechina.csdn.net 执行此操作。 你必须具有该组的[所有者权限](/docs/user/permissions#group-members-permissions) 。
|
|
|
|
|
|
1. 转到要查看 runners 的组。
|
|
|
2. 去 **设置> DevOps**,然后展开"**Runners**部分。
|
|
|
2. 去 **设置> DevOps**,然后展开 **Runners** 部分。
|
|
|
3. 显示以下字段。
|
|
|
|
|
|
| Attribute | Description |
|
... | ... | @@ -143,10 +143,10 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
你可以为自己管理的 CODECHINA 实例或 codechina.csdn.net 暂停或删除组 runner。 你必须具有该组的[所有者权限](/docs/user/permissions#group-members-permissions) 。
|
|
|
|
|
|
1. 转到你要删除或暂停 Runner 的组。
|
|
|
2. 去 **设置> CI/ CD**,然后展开 **Runners**部分。
|
|
|
2. 去 **设置> DevOps**,然后展开 **Runners**部分。
|
|
|
3. 点击 **暂停** 或 **移除 runner**。
|
|
|
* 如果你暂停由多个项目使用的组 Runner,则 Runner 会暂停所有项目。
|
|
|
* 从组视图中,你无法删除分配给多个项目的 runner。 你必须先从每个项目中将其删除。
|
|
|
* 如果你暂停由多个项目使用的组 Runner,则 Runner 会暂停所有项目。
|
|
|
* 从组视图中,你无法删除分配给多个项目的 runner。 你必须先从每个项目中将其删除。
|
|
|
4. 在确认对话框中,单击**确定** 。
|
|
|
|
|
|
### 特定 Runners[](#specific-runners "Permalink")
|
... | ... | @@ -160,7 +160,7 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
|
|
|
特定 runner 通过使用先进先出( [FIFO](https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics)) )队列来处理流水线任务。
|
|
|
|
|
|
**注意:**特定 runners 不会自动与 fork 项目共享。 fork *确实会*复制克隆存储库的 CI/CD 设置。
|
|
|
**注意**:特定 runners 不会自动与 fork 项目共享。 fork *确实会*复制克隆存储库的 CI/CD 设置。
|
|
|
|
|
|
#### 创建一个特定的 Runner[](#create-a-specific-runner "Permalink")
|
|
|
|
... | ... | @@ -169,7 +169,7 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
要创建特定的 runner:
|
|
|
|
|
|
1. 安装 Runner。
|
|
|
2. 转到项目的 **设置> DevOps**,然后展开**Runners**部分。
|
|
|
2. 转到项目的 **设置> DevOps**,然后展开 **Runners** 部分。
|
|
|
3. 记下 URL 和令牌。
|
|
|
4. 注册 Runner。
|
|
|
|
... | ... | @@ -182,16 +182,16 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
|
|
|
要为项目启用或禁用特定的 runners:
|
|
|
|
|
|
1. 转到项目的 **设置> DevOps**,然后展开 **Runners**部分。
|
|
|
1. 转到项目的 **设置> DevOps**,然后展开 **Runners** 部分。
|
|
|
2. 点击 **为此项目启用** 或 **为此项目禁用**。
|
|
|
|
|
|
#### 防止为其他项目启用特定 Runner [](#prevent-a-specific-runner-from-being-enabled-for-other-projects "Permalink")
|
|
|
|
|
|
你可以配置一个特定的 runner,使其"锁定"并且不能为其他项目启用。 首次[注册 Runner](https://docs.CODECHINA.com/runner/register/)时可以启用此设置,但以后也可以更改。
|
|
|
你可以配置一个特定的 runner,使其"锁定"并且不能为其他项目启用。 首次[注册 Runner](https://docs.gitlab.com/runner/register/)时可以启用此设置,但以后也可以更改。
|
|
|
|
|
|
锁定或解锁 runner:
|
|
|
|
|
|
1. 转到项目的 **设置> DevOps**,然后展开 **Runners**部分。
|
|
|
1. 转到项目的 **设置> DevOps**,然后展开 **Runners** 部分。
|
|
|
2. 找到你想要锁定或解锁的 runner。 确保已启用。
|
|
|
3. 单击铅笔按钮。
|
|
|
4. 选中 **锁定到当前项目**选项。
|
... | ... | @@ -209,22 +209,22 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
|
|
|
**示例 1- Runner 超时大于项目超时**
|
|
|
|
|
|
1. 你将 runner 的*最大流水线任务超时*设置为 24 小时
|
|
|
2. 你将项目的*CI/CD 超时*设置为**2 小时**
|
|
|
1. 你将 runner 的*最大流水线任务超时* 设置为 24 小时
|
|
|
2. 你将项目的*CI/CD 超时* 设置为**2 小时**
|
|
|
3. 你开始一个流水线任务
|
|
|
4. 如果流水线任务时间更长,则**2 小时**后将超时
|
|
|
|
|
|
**示例 2-未配置 Runner 超时**
|
|
|
|
|
|
1. 你从 runner 中删除*最大流水线任务超时*配置
|
|
|
2. 你将项目的*CI/CD 超时*设置为**2 小时**
|
|
|
1. 你从 runner 中删除*最大流水线任务超时* 配置
|
|
|
2. 你将项目的*CI/CD 超时* 设置为**2 小时**
|
|
|
3. 你开始一个流水线任务
|
|
|
4. 如果流水线任务时间更长,则**2 小时**后将超时
|
|
|
|
|
|
**示例 3- Runner 超时小于项目超时**
|
|
|
|
|
|
1. 你将 runner 的*最大流水线任务超时*设置为**30 分钟**
|
|
|
2. 你将项目的*CI/CD 超时*设置为 2 小时
|
|
|
1. 你将 runner 的*最大流水线任务超时* 设置为**30 分钟**
|
|
|
2. 你将项目的*CI/CD 超时* 设置为 2 小时
|
|
|
3. 你开始一个流水线任务
|
|
|
4. 如果流水线任务时间更长,则**30 分钟**后将超时
|
|
|
|
... | ... | @@ -238,25 +238,23 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
|
|
|
### 防止 Runners 泄露敏感信息[](#prevent-runners-from-revealing-sensitive-information "Permalink")
|
|
|
|
|
|
你可以保护 runners ,使他们不会泄露敏感信息。 当 runner 受到保护时,runner 仅选择在[受保护分支](/docs/user/project/protected_branches)或[受保护标签](/docs/user/project/protected_tags)上创建的流水线任务,而忽略其他流水线任务。
|
|
|
你可以保护 runners ,使他们不会泄露敏感信息。 当 runner 受到保护时,runner 仅选择在[受保护分支](/docs/user/project/protected-branches)或[受保护标签](/docs/user/project/protected-tags)上创建的流水线任务,而忽略其他流水线任务。
|
|
|
|
|
|
保护或取消保护跑步者:
|
|
|
保护或取消保护 runner:
|
|
|
|
|
|
1. 转到项目的 **设置> CI / CD**,然后展开 **跑步者**部分。
|
|
|
1. 转到项目的 **设置> DevOps**,然后展开 **Runner** 部分。
|
|
|
2. 找到你要保护或取消保护的 runner。 确保已启用。
|
|
|
3. 单击铅笔按钮。
|
|
|
4. 检查**受保护的**选项。
|
|
|
5. 点击 **保存更改**。
|
|
|
|
|
|
[![specific Runners edit icon](img/91abd5be225ec3a5c131075cce857fb8.png)](img/protected_runners_check_box.png)
|
|
|
|
|
|
### Forks[](#forks "Permalink")
|
|
|
|
|
|
每当 fork 一个项目时,它都会复制与其相关的流水线任务的设置。 这意味着,如果你已经为项目设置了共享的 Runners,并且有人 fork 了该项目,则共享的 Runners 也将为该项目的工作提供服务。
|
|
|
|
|
|
### Runners 中的攻击向量[](#attack-vectors-in-runners "Permalink")
|
|
|
|
|
|
前面已经简要提到过,但是可以利用 Runners 的以下功能。 我们一直在寻找可以减轻这些[安全注意事项的因素](https://docs.CODECHINA.com/runner/security/) 。
|
|
|
前面已经简要提到过,但是可以利用 Runners 的以下功能。 我们一直在寻找可以减轻这些[安全注意事项的因素](https://docs.gitlab.com/runner/security/) 。
|
|
|
|
|
|
### 重置项目的 Runner 注册令牌[](#reset-the-runner-registration-token-for-a-project "Permalink")
|
|
|
|
... | ... | @@ -294,7 +292,7 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
1. 转到项目的 **设置> DevOps**,然后展开 **Runners**部分。
|
|
|
2. 在详细信息页面上,你应该看到**IP 地址**行。
|
|
|
|
|
|
[![specific Runner IP address](img/b6c59d6785a7941658315a7e8e148751.png)](img/specific_runner_ip_address.png)
|
|
|
[![specific Runner IP address](/docs/img/specific_runner_ip_address.png)](/docs/img/specific_runner_ip_address.png)
|
|
|
|
|
|
## 使用标签来限制使用 Runner 的流水线任务数量[](#use-tags-to-limit-the-number-of-jobs-using-the-runner "Permalink")
|
|
|
|
... | ... | @@ -314,7 +312,7 @@ CODECHINA 实例中的每个项目都可以使用*共享 Runners* 。 |
|
|
4. 选中**运行未加标签的流水线任务**选项。
|
|
|
5. 单击**保存更改**按钮以使更改生效。
|
|
|
|
|
|
**注意**:不允许选择未标记的流水线任务时," runner 标签"列表不能为空。
|
|
|
**注意**:不允许选择未标记的流水线任务时,runner 标签列表不能为空。
|
|
|
|
|
|
以下是一些不同变化的示例场景。
|
|
|
|
... | ... | |