{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署

{{< /details >}}

管理员 区域有与 CI/CD 相关功能的实例设置,包括 runner、作业产物和软件包注册表。

自动 DevOps

要为所有项目启用(或禁用)自动 DevOps

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 勾选(或取消勾选以禁用)框,选择 默认使用自动 DevOps 流水线用于所有项目
  4. 可选地,设置 自动 DevOps 基础域,用于自动部署和自动审查应用。
  5. 选择 保存更改 以使更改生效。

每个现有项目和新创建的项目如果没有 .gitlab-ci.yml,将使用自动 DevOps 流水线。

Runner

为新项目启用实例 Runner

您可以设置所有新项目默认可用实例 Runner。

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 持续集成和部署
  4. 选择 启用新项目的实例 Runner 复选框。

每次创建新项目时,实例 Runner 都可用。

为实例 Runner 添加信息

要在所有项目的 runner 设置中显示实例 runner 的详细信息:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 持续集成和部署
  4. 实例 runner 详细信息 字段中输入文本,包括 Markdown,如果需要。

要查看渲染后的详细信息:

  1. 在左侧边栏,选择 搜索或前往,找到您的项目或群组。
  2. 选择 设置 > CI/CD
  3. 展开 Runner

项目的 runner 设置显示关于实例 runner 指南的信息

为多个项目启用项目 Runner

如果您已经注册了项目 runner,您可以将该 runner 分配给其他项目。

要为多个项目启用项目 runner:

  1. 在左侧边栏底部,选择 管理员
  2. 从左侧边栏选择 CI/CD > Runner
  3. 选择您想要编辑的 runner。
  4. 在右上角选择 编辑 ({{< icon name=”pencil” >}})。
  5. 限制此 runner 的项目 下,搜索项目。
  6. 在项目的左侧,选择 启用
  7. 为每个附加项目重复此过程。

禁用 runner 版本管理

{{< history >}}

  • 在极狐GitLab 15.10 中引入。

{{< /history >}}

默认情况下,极狐GitLab 实例会定期从 JihuLab.com 获取官方 runner 版本数据,以确定是否需要升级 runner

要禁用您的实例获取这些数据:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 Runner
  4. Runner 版本管理 部分中,清除 从 JihuLab.com 获取极狐GitLab Runner 发行版本数据 复选框。
  5. 选择 保存更改

限制实例中所有用户的 runner 注册

{{< history >}}

  • 在极狐GitLab 15.5 中,为 JihuLab.com 和私有化部署启用,。

{{< /history >}}

极狐GitLab 管理员可以通过显示和隐藏 UI 的区域来调整允许注册 runner 的人员。此设置不影响从 UI 或通过经过身份验证的 API 调用创建 runner 的能力。

当 UI 中隐藏注册部分时,项目或群组的成员必须联系管理员以在群组或项目中启用 runner 注册。如果您计划阻止注册,请确保用户可以访问运行作业所需的 runner。

默认情况下,项目和群组的所有成员都可以注册 runner。

要限制实例中所有用户注册 runner:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 Runner
  4. Runner 注册 部分中,清除 项目成员可以注册 runner群组成员可以注册 runner 复选框,以从 UI 中移除 runner 注册。
  5. 选择 保存更改

{{< alert type=”note” >}}

在您禁用项目成员的 runner 注册后,注册令牌会自动旋转。令牌不再有效,您必须使用新的项目注册令牌。

{{< /alert >}}

限制群组中所有成员的 runner 注册

先决条件:

极狐GitLab 管理员可以调整群组权限以限制群组成员注册 runner。

要限制特定群组中的成员注册 runner:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 概览 > 群组 并找到您的群组。
  3. 选择 编辑
  4. 清除 可以注册新群组 runner 复选框,如果要禁用群组中所有成员注册 runner。如果设置为只读,您必须为实例启用 runner 注册。
  5. 选择 保存更改

允许 runner 注册令牌

{{< history >}}

  • 在极狐GitLab 16.11 中引入。

{{< /history >}}

{{< alert type=”warning” >}}

传递 runner 注册令牌的选项和某些配置参数的支持在极狐GitLab 15.6 中已弃用,计划在极狐GitLab 20.0 中移除。使用runner 创建工作流生成身份验证令牌以注册 runner。此过程提供完整的 runner 所有权可追溯性,并增强您的 runner 队列的安全性。

有关更多信息,请参阅迁移到新的 runner 注册工作流

{{< /alert >}}

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 Runner
  4. 选择 允许 runner 注册令牌 复选框。

产物

最大产物大小

您可以设置不同 作业产物 的最大大小:

  • 实例
  • 项目
  • 群组

作业中每个产物文件的默认最大大小是 100 MB。对于 JihuLab.com,请参阅产物最大大小

使用 artifacts:reports 定义的作业产物可以有不同的限制。在这种情况下,使用较小的值。

{{< alert type=”note” >}}

此设置适用于最终归档文件的大小,而不是作业中的单个文件。

{{< /alert >}}

要修改最大产物大小:

  • 对于实例:

    1. 在左侧边栏底部,选择 管理员
    2. 选择 设置 > CI/CD
    3. 展开 持续集成和部署
    4. 更改 最大产物大小 (MB) 的值。
    5. 选择 保存更改
  • 对于群组或项目:

    群组设置覆盖实例设置。项目设置覆盖实例和群组设置。

    1. 在左侧边栏,选择 搜索或前往,找到您的项目或群组。
    2. 选择 设置 > CI/CD
    3. 展开 常规流水线
    4. 更改 最大产物大小 (以 MB 为单位) 的值。
    5. 选择 保存更改

默认产物过期时间

可以在极狐GitLab 实例的 管理员 区域设置 作业产物 的默认过期时间。持续时间的语法在 artifacts:expire_in 中描述,默认值是 30 天

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 更改默认过期时间的值。
  4. 选择 保存更改 以使更改生效。

此设置是针对每个作业设置的,可以在 .gitlab-ci.yml 中覆盖。要禁用过期,将其设置为 0。默认单位是秒。

{{< alert type=”note” >}}

对此设置的任何更改仅适用于新产物。过期时间不会更新为更改此设置之前创建的产物。管理员可能需要手动搜索并过期之前创建的产物,如故障排除文档中所述。

{{< /alert >}}

保留最新成功流水线中所有作业的最新产物

启用时(默认),每个 Git 引用的最新流水线产物被锁定以防删除,并且无论过期时间如何都被保留。

禁用时,任何 成功或修复的流水线的最新产物允许过期。

此设置优先于项目设置。如果在整个实例中禁用,您无法在单个项目中启用此功能。

要禁用此设置:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 持续集成和部署
  4. 清除 保留最新成功流水线中所有作业的最新产物 复选框。
  5. 选择 保存更改

当您禁用该功能时,最新产物不会立即过期。必须运行新的流水线才能使最新产物过期并被删除。

{{< alert type=”note” >}}

所有应用程序设置都有一个可定制的缓存过期间隔,可能会延迟设置的生效。

{{< /alert >}}

禁用作业产物的外部重定向页面

默认情况下,极狐GitLab Pages 在用户尝试查看由极狐GitLab Pages 提供的作业产物时显示外部重定向页面。

极狐GitLab 私有化部署的管理员可以禁用外部重定向警告页面,以便您可以直接查看作业产物页面:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 持续集成和部署
  4. 清除 启用作业产物的外部重定向页面

归档作业

您可以归档旧作业以防止它们被单独重新运行。归档的作业在作业日志顶部显示锁定图标 ({{< icon name=”lock” >}}) 和 此作业已归档

要设置作业被视为旧作业并过期的持续时间:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 持续集成和部署 部分。
  4. 设置 归档作业 的值。
  5. 选择 保存更改 以使更改生效。

经过这段时间后,作业在后台被归档,不再能够被重试。保持为空以永不过期作业。必须不少于 1 天,例如:15 天1 个月2 年

对于在 JihuLab.com 中设置的值,请参阅计划作业归档

默认保护 CI/CD 变量

要将所有新 CI/CD 变量默认设置为受保护

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 选择 默认保护 CI/CD 变量

最大包含数量

{{< history >}}

  • 在极狐GitLab 16.0 中引入。

{{< /history >}}

可以为整个实例设置每个流水线的最大包含数量。默认值是 150

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 更改 最大包含数量 的值。
  4. 选择 保存更改 以使更改生效。

最大下游流水线触发率

{{< history >}}

  • 在极狐GitLab 16.10 中引入。

{{< /history >}}

可以为整个实例设置每分钟可以触发的下游流水线的最大数量(对于给定的项目、用户和提交)。默认值是 0(没有限制)。

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 更改 最大下游流水线触发率 的值。
  4. 选择 保存更改 以使更改生效。

默认 CI/CD 配置文件

可以在您的极狐GitLab 实例的 管理员 区域设置新项目的默认 CI/CD 配置文件和路径(如果未设置,则为 .gitlab-ci.yml):

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 默认 CI/CD 配置文件 字段中输入新的文件和路径。
  4. 选择 保存更改 以使更改生效。

也可以为特定项目指定自定义 CI/CD 配置文件

设置 CI/CD 限制

{{< history >}}

  • 在极狐GitLab 16.0 中移除 每个项目的最大活跃流水线数量 设置。
  • 在极狐GitLab 17.1 中引入 实例级 CI/CD 变量的最大数量 设置。
  • 在极狐GitLab 17.1 中引入 dotenv 产物的最大字节大小 设置。
  • 在极狐GitLab 17.1 中引入 dotenv 产物中的最大变量数量 设置。
  • 在极狐GitLab 17.6 中从极狐GitLab 企业版移动到极狐GitLab 基础版的 单个流水线中的最大作业数量 设置。

{{< /history >}}

您可以从 管理员 区域配置一些 CI/CD 限制

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 持续集成和部署
  4. CI/CD 限制 部分中,您可以设置以下限制:
    • 实例级 CI/CD 变量的最大数量
    • dotenv 产物的最大字节大小
    • dotenv 产物中的最大变量数量
    • 单个流水线中的最大作业数量
    • 当前活跃流水线中的总作业数量
    • 项目的最大流水线订阅数量
    • 最大流水线计划数量
    • 作业可以拥有的最大需求依赖数量
    • 过去七天内群组中创建或活跃的最大 runner 数量
    • 过去七天内项目中创建或活跃的最大 runner 数量
    • 流水线层次树中的最大下游流水线数量

作业令牌权限

{{< history >}}

  • 在极狐GitLab 17.6 中引入。

{{< /history >}}

您可以为所有项目从 管理员 区域配置 CI/CD 作业令牌访问设置

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 作业令牌权限 部分。
  4. 启用 启用并强制所有项目的作业令牌允许列表 设置,以要求所有项目使用允许列表控制作业令牌访问。

作业日志

增量日志记录

{{< history >}}

  • 在极狐GitLab 17.11 中引入。

{{< /history >}}

增量日志记录使用 Redis 而不是磁盘空间来临时缓存作业日志。启用时,归档的作业日志会增量上传到对象存储。有关更多信息,请参阅增量日志记录

先决条件:

要为所有项目启用增量日志记录:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 作业日志
  4. 选择 启用增量日志记录 复选框。
  5. 选择 保存更改

禁用流水线建议横幅

默认情况下,合并请求中没有流水线的情况下会显示一个横幅,建议如何添加一个。

横幅显示关于如何开始使用极狐GitLab 流水线的指导。

要禁用横幅:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 清除 启用流水线建议横幅 复选框。
  4. 选择 保存更改

禁用从 Jenkins 迁移横幅

{{< history >}}

  • 在极狐GitLab 17.7 中引入。

{{< /history >}}

默认情况下,项目启用 Jenkins 集成的合并请求中会显示一个横幅,提示迁移到极狐GitLab CI/CD。

提示从 Jenkins 迁移到极狐GitLab CI 的横幅

要禁用横幅:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 清除 显示从 Jenkins 迁移横幅 复选框。
  4. 选择 保存更改

软件包注册表配置

Maven 转发

{{< details >}}

  • Tier: 专业版, 旗舰版
  • Offering: 极狐GitLab私有化部署

{{< /details >}}

极狐GitLab 管理员可以禁用 Maven 请求转发到 Maven Central。

要禁用 Maven 请求转发:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 软件包注册表 部分。
  4. 清除 如果在极狐GitLab 软件包注册表中找不到软件包,则将 Maven 软件包请求转发到 Maven 注册表 复选框。
  5. 选择 保存更改

npm 转发

{{< details >}}

  • Tier: 专业版, 旗舰版
  • Offering: 极狐GitLab私有化部署

{{< /details >}}

极狐GitLab 管理员可以禁用 npm 请求转发到 npmjs.com。

要禁用它:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 软件包注册表 部分。
  4. 清除 如果在极狐GitLab 软件包注册表中找不到软件包,则将 npm 软件包请求转发到 npm 注册表 复选框。
  5. 选择 保存更改

PyPI 转发

{{< details >}}

  • Tier: 专业版, 旗舰版
  • Offering: 极狐GitLab私有化部署

{{< /details >}}

极狐GitLab 管理员可以禁用 PyPI 请求转发到 pypi.org。

要禁用它:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 软件包注册表 部分。
  4. 清除 如果在极狐GitLab 软件包注册表中找不到软件包,则将 PyPI 软件包请求转发到 PyPI 注册表 复选框。
  5. 选择 保存更改

软件包文件大小限制

极狐GitLab 管理员可以调整每种软件包类型允许的最大文件大小。

要设置最大文件大小:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 软件包注册表 部分。
  4. 找到您想要调整的软件包类型。
  5. 输入最大文件大小,以字节为单位。
  6. 选择 保存大小限制

必需的流水线配置(已弃用)

{{< details >}}

  • Tier: 旗舰版
  • Offering: 极狐GitLab私有化部署

{{< /details >}}

{{< history >}}

  • 在极狐GitLab 15.0 中从极狐GitLab 专业版迁移到极狐GitLab 旗舰版。
  • 在极狐GitLab 15.9 中弃用。
  • 在极狐GitLab 17.0 中移除。
  • 在极狐GitLab 17.4 中重新添加,而且在 required_pipelines 功能标志后面重新添加,默认禁用。

{{< /history >}}

{{< alert type=”warning” >}}

此功能在极狐GitLab 15.9 中弃用,并在 17.0 中移除。从 17.4 起,仅在功能标志 required_pipelines 后面可用,默认情况下禁用。请改用合规流水线。此更改是一个重大更改。

{{< /alert >}}

您可以将CI/CD 模板设置为极狐GitLab 实例上所有项目的必需流水线配置。您可以使用来自以下来源的模板:

  • 默认 CI/CD 模板。
  • 存储在实例模板库中的自定义模板。

    {{< alert type=”note” >}}

    当您使用实例模板库中定义的配置时,嵌套的 include: 关键字(包括 include:fileinclude:localinclude:remoteinclude:template)不起作用。

    {{< /alert >}}

项目 CI/CD 配置在流水线运行时合并到必需的流水线配置中。合并后的配置与必需的流水线配置通过 include 关键字 添加项目配置是一样的。要查看项目的完整合并配置,请在流水线编辑器中查看完整配置

要选择必需流水线配置的 CI/CD 模板:

  1. 在左侧边栏底部,选择 管理区域
  2. 选择 设置 > CI/CD
  3. 展开 必需的流水线配置 部分。
  4. 从下拉列表中选择一个 CI/CD 模板。
  5. 选择 保存更改