持续集成和部署管理中心设置

管理中心包含 Auto DevOps、runner 和作业产物的实例设置。

Auto DevOps

要为所有项目启用(或禁用)Auto DevOps:

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 选中(或取消选中以禁用)显示 所有项目默认使用 Auto DevOps 流水线 的复选框。
  4. (可选)设置用于 Auto Deploy 和 Auto Review Apps 的 Auto DevOps base domain
  5. 点击 保存修改,使更改生效。

从现在开始,每个现有项目和新创建的没有 .gitlab-ci.yml 的项目都使用 Auto DevOps 流水线。

Runners

为新项目启用实例 runners

您可以设置所有新项目默认拥有实例 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. 展开 Runners

instance runner

为多个项目启用指定 runner

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

为多个项目启用指定 runner:

  1. 在左侧导航栏底部,选择 管理员
  2. 从左侧边栏中,选择 CI/CD > Runners
  3. 选择您要编辑的 runner。
  4. 在右上角,选择 编辑 ( )。
  5. 限制适用于该 runner 的项目 下,搜索一个项目。
  6. 在项目左侧,选择 启用
  7. 对每个其它更多的项目重复此过程。

禁用 runner 版本管理

  • 自极狐GitLab 15.10 引入。

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

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

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 Runners
  4. Runner 版本管理 部分,清除 获取 Runner 发布版本数据 勾选框。
  5. 选择 保存更改

在实例上限制所有用户进行 runner 注册

  • 在极狐GitLab 15.5 开始为所有版本开启此功能。

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

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

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

要限制实例用户进行 runner 注册:

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 Runners 部分。
  4. Runner 注册 部分,清除 项目成员可以注册 runners群组成员可以注册 runners 勾选框,以从 UI 中删除 runner 注册。
  5. 选择 保存更改
note 当您禁用群组或项目中的 runner 注册时,注册令牌会自动撤回。令牌不再有效,您必须使用新注册令牌为项目注册 runner。

在群组中限制成员注册 runner

先决条件:

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

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

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

允许 runner 注册令牌

  • 自极狐GitLab 16.11 引入。
caution 在极狐GitLab 15.6 中已经弃用了 runner 注册令牌传递、支持某些配置参数的功能,且会在极狐GitLab 18.0 中彻底移除。取而代之的是 Runner 认证令牌。更多详情,可以查看迁移到新的 runner 注册工作流

在极狐GitLab 17.0 中,使用 runner 注册令牌来创建 runner 将被禁用。用户必须使用 runner 认证令牌代替。如果尚未迁移到使用 runner 认证令牌,您可以允许 runner 注册令牌。此设置和 runner 注册令牌的支持将在极狐GitLab 18.0 中删除。

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

制品

最大产物大小

作业产物的最大大小可以在以下级别设置:

  • 整个级别
  • 每个项目
  • 每个群组

该值以 MB 为单位,默认值为每个作业 100MB。在以下位置更改它:

  • 实例级别:

    1. 在左侧导航栏底部,选择 管理员
    2. 在左侧边栏中,选择 设置 > CI/CD
    3. 更改最大产物大小的值(以 MB 为单位)。
    4. 单击 保存修改,使更改生效。
  • 群组级别(覆盖实例设置):

    1. 转到群组的 设置 > CI/CD > 流水线通用设置
    2. 更改 最大产物大小(以 MB 为单位) 的值。
    3. 单击 保存修改,使更改生效。
  • 项目级别(覆盖实例和群组设置):

    1. 转到项目的 设置 > CI/CD > 流水线通用设置
    2. 更改 最大产物大小(以 MB 为单位) 的值。
    3. 单击 保存修改,使更改生效。
note 所有级别的设置仅对极狐GitLab 管理员可用。

默认产物过期

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

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

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

note 对此设置的任何更改仅适用于新产物。对于在更改此设置之前创建的产物,不会更新到期时间。

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

引入于 13.9 版本

启用(默认)后,每个 Git 引用(分支和标签)的最新流水线的产物是锁定防止删除,且无论到期时间如何均保留。

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

此设置优先于项目级别设置。 如果在实例级别禁用,则无法为每个项目启用此功能。

要禁用此设置:

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

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

note 所有应用程序设置都有一个可自定义的缓存到期间隔,这可以延迟设置的影响。

为作业制品禁用外部重定向页面

默认情况下,当用户尝试查看由 GitLab Pages 提供的作业制品时,极狐GitLab Pages 会显示一个外部重定向页面。该页面会警告潜在的恶意用户生成内容。

私有化部署管理员可以禁用外部重定向告警页面,以便您可以直接查看作业制品页面:

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 持续集成和部署 部分。
  4. 不选 为作业制品禁用外部重定向页面
  5. Select Settings > CI/CD.

归档作业

归档作业通过删除作业的某些功能(存储在数据库中运行作业所需的元数据),但保留跟踪和产物以用于审计目的,有助于减少系统上的 CI/CD 占用空间。

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

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

这段时间过后,作业将在后台被存档,无法再重试。使其为空可以永不过期作业。必须不少于1天,例如:15 days1个月2 years

默认保护 CI/CD 变量

将所有新的 CI/CD 变量 设置为默认情况下受保护

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

最大包含(includes)数量

引入于 16.0 版本。

您可以在实例级别设置每个流水线的最大包含(includes)数量。默认值为 150

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

最大下游流水线触发速率

  • 自极狐GitLab 16.10 引入。

可以为整个实例设置每分钟可触发的最大下游流水线数量(针对各顶项目、用户和提交)。默认值为 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 限制

引入于 14.10 版本

您可以从管理中心配置一些 CI/CD 限制

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 持续集成和部署 部分。
  4. CI/CD 限制 部分,您可以设置以下限制:
    • 单个流水线中作业的最大数量
    • 当前活动流水线中的作业总数
    • 一个项目的最大流水线订阅数
    • 流水线计划的最大数量
    • 作业可以拥有的依赖项的最大数量
    • 每个群组注册的最大 runner 数量
    • 每个项目注册的最大 runner 数量
    • 流水线的层次结构树中下游流水线的最大数量

作业令牌权限

  • 自极狐GitLab 17.6 引入。

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

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 持续集成和部署 部分。
  4. 启用 为所有项目启用和强制执行作业令牌允许列表 设置,以要求所有项目使用等候列表控制作业令牌访问。 ## 禁用流水线建议框

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

Suggest pipeline banner

要禁用:

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 选中或清除 启用流水线建议提示 复选框。
  4. 选择 保存修改

必需的流水线配置

  • 从专业版移动到旗舰版于 15.0 版本。
  • 废弃于 15.9 版本。
  • 移除于 17.0 版本。
  • 重新添加于 17.4 并使用功能标志 required_pipelines。默认禁用。
caution 此功能废弃于 15.9 版本,计划删除于 17.0。使用合规流水线功能代替。

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

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

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

当流水线运行时,项目 CI/CD 配置合并到所需的流水线配置中。合并后的配置就像所需的流水线配置添加了带有 include 关键字 的项目配置一样。 要查看项目的完整合并配置,请在流水线编辑器中查看合并的 YAML

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

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 强制流水线配置 部分。
  4. 从下拉列表中选择 CI/CD 模板。
  5. 单击 保存更改

软件包库配置

Maven 转发

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

要禁用转发 Maven 请求:

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 软件包库 部分。
  4. 清除复选框 Forward Maven package requests to the Maven Registry if the packages are not found in the GitLab Package Registry
  5. 选择 保存更改

npm 转发

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

要禁用:

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 软件包库 部分。
  4. 如果在 GitLab 软件包库中找不到包,请清除复选框 Forward npm package requests to the npm Registry if the packages are not found in the GitLab Package Registry
  5. 选择 保存修改

PyPI 转发

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

要禁用:

  1. 在左侧导航栏底部,选择 管理员
  2. 选择 设置 > CI/CD
  3. 展开 软件包库 部分。
  4. 清除复选框 Forward PyPI package requests to the PyPI Registry if the packages are not found in the GitLab Package Registry.
  5. 选择 保存修改

包文件大小限制

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

设置最大文件大小:

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