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

管理中心包含 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 流水线。

如果您想为特定项目禁用它,您可以在设置中操作。

共享 runner 详细信息

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

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

您可以使用 Markdown 来改进格式。查看渲染的细节:

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

Shared runner details example

最大产物大小

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

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

值设置为:

  • MB 为单位,默认为每个作业 100MB。
  • SaaS 版设置为 1G。

在以下位置更改:

  • 实例级别:

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

共享 runner 流水线分钟配额

如果您为极狐GitLab 实例启用了共享 runner,则可以通过设置群组每月可以在共享 runner 上使用的最大流水线分钟数来限制它们的使用。将此设置为 0(默认值)可授予无限的流水线分钟数。虽然构建限制以分钟为单位存储,但计数以秒为单位。使用量在每个月的第一天重置。

要更改流水线分钟配额:

  1. 在顶部栏上,选择 菜单 > 管理员
  2. 在左侧边栏上,选择 设置 > CI/CD
  3. 展开 持续集成和部署
  4. 流水线分钟配额 框中,输入最大分钟数。
  5. 单击 保存修改,使更改生效。

虽然管理中心中的设置具有全局影响,但作为管理员,您还可以更改每个群组的流水线分钟配额以覆盖全局值。

  1. 导航到 管理中心 > 概览 > 群组,然后点击要更改流水线分钟配额的群组的 编辑 按钮。
  2. 流水线分钟数配额 框中,输入最大分钟数。
  3. 单击 保存修改,使更改生效。

保存后,您可以在组设置中看到构建配额。 如果启用了共享 runner,也可以在项目设置中查看配额。

Project admin information

您可以在群组页面设置列表可用的 使用配额 页面中,查看群组所有项目的流水线分钟配额概览。

Group pipelines quota

归档作业

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

默认 CI/CD 配置文件

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

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

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

启用或禁用流水线建议框

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

Suggest pipeline banner

要启用或禁用:

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

所需的流水线配置

note可以使用替代的合规性解决方案。我们推荐这种替代解决方案,因为它提供了更大的灵活性,允许将所需的流水线分配给特定的合规框架标签。

您可以将 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. 单击 保存修改

软件包库配置

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 版本
  • 部署在功能标志后,默认禁用
  • 不推荐生产使用
  • 要在极狐GitLab 自助管理实例中使用,请要求极狐GitLab 管理员启用它。

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

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

要更改:

  1. 在顶部栏上,选择 菜单 > 管理员
  2. 进入 设置 > CI/CD
  3. 展开 Runner 注册 部分。
  4. 选择所需的选项。
  5. 单击 保存修改

当注册部分隐藏在 UI 中时,需要注册 runner 的项目或群组成员必须联系管理员。

此功能目前位于功能标志之后。 要启用:

在 Omnibus 安装实例:

  1. 进入 Rails 控制台:

    sudo gitlab-rails console
    
  2. 翻转开关并启用功能标志:

    Feature.enable(:runner_registration_control)
    

故障排查

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>.