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

管理中心包含 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 可用。

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏,选择 设置 > CI/CD
  3. 展开 持续集成和部署
  4. 选中 为新项目启用共享 Runner 复选框。

任何时候创建新项目时,共享 runners 都可用。

共享 runners CI/CD 分钟

作为管理员,您可以为可使用的 CI/CD 分钟数 设置全局或特定于命名空间的限制。

为多个项目启用指定 runner

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

为多个项目启用指定 runner:

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

为共享 runners 添加信息

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

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏上,选择 设置 > CI/CD
  3. 扩展 持续集成和部署
  4. 输入文本,如果需要,包括 Markdown,在 共享 Runner 的详细信息 字段中输入您的共享 runner 详细信息。

    Shared runner details input

查看渲染细节:

  1. 在顶部栏上,选择 主菜单 > 项目 并选择任何组或项目。
  2. 在左侧边栏上,选择 设置 > CI/CD
  3. 展开 Runners

Shared runner details example

最大产物大小

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

  • 实例级别
  • 从 12.4 版本,在项目和群组级别。

该值以 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所有应用程序设置都有一个可自定义的缓存到期间隔,这可以延迟设置的影响。

归档作业

归档作业通过删除作业的某些功能(存储在数据库中运行作业所需的元数据),但保留跟踪和产物以用于审计目的,有助于减少系统上的 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)数量

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

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏上,选择 设置 > CI/CD
  3. 更改 最大包含(includes)数量
  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 数量
    • 一个项目的最大流水线订阅数
    • 流水线计划的最大数量
    • 作业可以拥有的 DAG 依赖项的最大数量
    • 每个群组注册的最大 runner 数量
    • 每个项目注册的最大 runner 数量
    • 流水线的层次结构树中下游流水线的最大数量

启用或禁用流水线建议框

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

Suggest pipeline banner

要启用或禁用:

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

必需的流水线配置

  • 从专业版移动到旗舰版于 15.0 版本。
  • 废弃于 15.9 版本。
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. 单击 保存大小限制

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

  • 引入于 14.1 版本
  • 部署在功能标志 runner_registration_control 后,默认禁用
  • 不推荐生产使用
  • 要在极狐GitLab 自助管理实例中使用,请要求极狐GitLab 管理员启用它。

极狐GitLab 管理员可以通过显示和隐藏 UI 区域来调整允许注册 runner 的人。

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

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

  1. 在顶部栏上,选择 主菜单 > 管理员
  2. 在左侧边栏,选择 设置 > CI/CD
  3. 展开 Runner 注册
  4. Runner 注册 部分,清除 项目成员可以注册 runners群组成员可以注册 runners 复选框,从 UI 中删除 runner 注册。
  5. 选择 保存更改
caution当注册部分隐藏在 UI 中时,需要注册 runner 的项目或群组的成员必须联系管理员。如果您计划阻止注册,请确保用户可以访问他们运行作业所需的 runners。

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

先决条件:

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

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

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

禁用 runner 版本管理

引入于 15.10 版本。

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

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

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

故障排查

413 Request Entity Too Large

当构建作业失败并出现以下错误时,增加最大产物大小

Uploading artifacts as "archive" to coordinator... too large archive <job-id> responseStatus=413 Request Entity Too Large status=413" at end of a build job on pipeline when trying to store artifacts to <object-storage>.