- Auto DevOps
- 为新项目启用共享 runners
- 共享 runners CI/CD 分钟
- 为多个项目启用指定 runner
- 为共享 runners 添加信息
- 最大产物大小
- 默认产物过期
- 保留最新成功流水线中所有作业的最新产物
- 归档作业
- 默认保护 CI/CD 变量
- 最大包含(includes)数量
- 默认 CI/CD 配置文件
- 设置 CI/CD 限制
- 启用或禁用流水线建议框
- 必需的流水线配置
- 软件包库配置
- 限制一个实例中所有用户的 runner 注册
- 限制群组内所有成员的 runner 注册
- 禁用 runner 版本管理
- 故障排查
持续集成和部署管理中心设置
管理中心包含 Auto DevOps、runner 和作业产物的实例设置。
Auto DevOps
要为所有项目启用(或禁用)Auto DevOps:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 选中(或取消选中以禁用)显示 所有项目默认使用 Auto DevOps 流水线 的复选框。
- (可选)设置用于 Auto Deploy 和 Auto Review Apps 的 Auto DevOps base domain。
- 点击 保存修改,使更改生效。
从现在开始,每个现有项目和新创建的没有 .gitlab-ci.yml
的项目都使用 Auto DevOps 流水线。
如果您想为特定项目禁用它,您可以在设置中操作。
为新项目启用共享 runners
您可以将所有新项目设置为在默认情况下,使实例的共享 runners 可用。
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏,选择 设置 > CI/CD。
- 展开 持续集成和部署。
- 选中 为新项目启用共享 Runner 复选框。
任何时候创建新项目时,共享 runners 都可用。
共享 runners CI/CD 分钟
作为管理员,您可以为可使用的 CI/CD 分钟数 设置全局或特定于命名空间的限制。
为多个项目启用指定 runner
如果您已经注册了一个指定 runner,您可以将该 runner 分配给其他项目。
为多个项目启用指定 runner:
- 在顶部栏上,选择 主菜单 > 管理员。
- 从左侧边栏中,选择 CI/CD > Runners。
- 选择您要编辑的 runner。
- 在右上角,选择 编辑 ()。
- 在 限制适用于该 runner 的项目 下,搜索一个项目。
- 在项目左侧,选择 启用。
- 对每个其它更多的项目重复此过程。
为共享 runners 添加信息
要在所有项目的 runner 设置中显示有关实例共享 runner 的详细信息:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 扩展 持续集成和部署。
-
输入文本,如果需要,包括 Markdown,在 共享 Runner 的详细信息 字段中输入您的共享 runner 详细信息。
查看渲染细节:
- 在顶部栏上,选择 主菜单 > 项目 并选择任何组或项目。
- 在左侧边栏上,选择 设置 > CI/CD。
- 展开 Runners。
最大产物大小
作业产物的最大大小可以在以下级别设置:
- 实例级别
- 从 12.4 版本,在项目和群组级别。
该值以 MB 为单位,默认值为每个作业 100MB。在以下位置更改它:
-
实例级别:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 更改最大产物大小的值(以 MB 为单位)。
- 单击 保存修改,使更改生效。
-
群组级别(覆盖实例设置):
- 转到群组的 设置 > CI/CD > 流水线通用设置。
- 更改 最大产物大小(以 MB 为单位) 的值。
- 单击 保存修改,使更改生效。
-
项目级别(覆盖实例和群组设置):
- 转到项目的 设置 > CI/CD > 流水线通用设置。
- 更改 最大产物大小(以 MB 为单位) 的值。
- 单击 保存修改,使更改生效。
默认产物过期
作业产物的默认过期时间可以在极狐GitLab 实例的管理中心中设置。持续时间的语法在 artifacts:expire_in
中有描述,默认值为 30 days
。
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 修改默认过期时间的值。
- 单击 保存修改,使更改生效。
这个设置是为每个作业设置的,可以在 .gitlab-ci.yml
中覆盖。
要禁用过期,请将其设置为 0
。默认单位为秒。
保留最新成功流水线中所有作业的最新产物
引入于 13.9 版本
启用(默认)后,每个 Git 引用(分支和标签)的最新流水线的产物是锁定防止删除,且无论到期时间如何均保留。
禁用时,允许任何新的成功流水线或固定流水线的最新产物过期。
此设置优先于项目级别设置。 如果在实例级别禁用,则无法为每个项目启用此功能。
要禁用此设置:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 展开 持续集成和部署。
- 清除 在最新成功的流水线中,保留所有作业的最新产物 复选框。
- 点击 保存修改。
当您禁用该功能时,最新的产物不会立即过期。 在最新的产物过期并被删除之前,必须运行新的流水线。
归档作业
归档作业通过删除作业的某些功能(存储在数据库中运行作业所需的元数据),但保留跟踪和产物以用于审计目的,有助于减少系统上的 CI/CD 占用空间。
设置作业被视为旧的和过期的持续时间:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 展开 持续集成和部署 部分。
- 设置 存档作业 的值。
- 点击 保存修改 以使更改生效。
这段时间过后,作业将在后台被存档,无法再重试。使其为空可以永不过期作业。必须不少于1天,例如:15 days
、1个月
、2 years
。
默认保护 CI/CD 变量
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 选择 默认保护 CI/CD 变量。
最大包含(includes)数量
您可以在实例级别设置每个流水线的最大包含(includes)数量。默认值为 150
。
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 更改 最大包含(includes)数量。
- 选择 保存更改,使更改生效。
默认 CI/CD 配置文件
可以在极狐GitLab 实例的管理中心中,设置新项目的默认 CI/CD 配置文件和路径(如果未设置,则为.gitlab-ci.yml
):
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 在 默认 CI/CD 配置文件 字段中输入新文件和路径。
- 点击 保存修改,使更改生效。
也可以为特定项目指定自定义 CI/CD 配置文件。
设置 CI/CD 限制
引入于 14.10 版本
您可以从管理中心配置一些 CI/CD 限制:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏,选择 设置 > CI/CD。
- 展开 持续集成和部署 部分。
- 在 CI/CD 限制 部分,您可以设置以下限制:
- 单个流水线中作业的最大数量
- 当前活动流水线中的作业总数
- 每个项目注册的最大 runner 数量
- 一个项目的最大流水线订阅数
- 流水线计划的最大数量
- 作业可以拥有的 DAG 依赖项的最大数量
- 每个群组注册的最大 runner 数量
- 每个项目注册的最大 runner 数量
- 流水线的层次结构树中下游流水线的最大数量
启用或禁用流水线建议框
默认情况下显示在合并请求中,没有流水线时,如何添加一个的建议。
要启用或禁用:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 选中或清除 启用流水线建议提示 复选框。
- 选择 保存修改。
必需的流水线配置
- 从专业版移动到旗舰版于 15.0 版本。
- 废弃于 15.9 版本。
您可以将 CI/CD 模板 设置为极狐GitLab 实例上所有项目的必需流水线配置。您可以使用以下模板:
- 默认 CI/CD 模板。
-
存储在实例模板仓库中的自定义模板。
当您使用实例模板仓库中定义的配置时,nestedinclude:
关键字(包括include:file
、include :local
、include:remote
和include:template
) 不起作用。
当流水线运行时,项目 CI/CD 配置合并到所需的流水线配置中。合并后的配置就像所需的流水线配置添加了带有 include
关键字 的项目配置一样。
要查看项目的完整合并配置,请在流水线编辑器中查看合并的 YAML。
要为所需的流水线配置选择 CI/CD 模板:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 展开 强制流水线配置 部分。
- 从下拉列表中选择 CI/CD 模板。
- 单击 保存更改。
软件包库配置
Maven 转发
极狐GitLab 管理员可以禁用将 Maven 请求转发到 Maven Central。
要禁用转发 Maven 请求:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 展开 软件包库 部分。
- 清除复选框 Forward Maven package requests to the Maven Registry if the packages are not found in the GitLab Package Registry。
- 选择 保存更改。
npm 转发
极狐GitLab 管理员可以禁用将 npm 请求转发到 npmjs.com。
要禁用:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 展开 软件包库 部分。
- 如果在 GitLab 软件包库中找不到包,请清除复选框 Forward npm package requests to the npm Registry if the packages are not found in the GitLab Package Registry。
- 选择 保存修改。
PyPI 转发
极狐GitLab 管理员可以禁止将 PyPI 请求转发到 pypi.org。
要禁用:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 展开 软件包库 部分。
- 清除复选框 Forward PyPI package requests to the PyPI Registry if the packages are not found in the GitLab Package Registry.
- 选择 保存修改。
包文件大小限制
极狐GitLab 管理员可以调整每个包类型的最大允许文件大小。
设置最大文件大小:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏上,选择 设置 > CI/CD。
- 展开 软件包库 部分。
- 找到您要调整的包类型。
- 输入最大文件大小,以字节为单位。
- 单击 保存大小限制。
限制一个实例中所有用户的 runner 注册
- 引入于 14.1 版本
- 部署在功能标志
runner_registration_control
后,默认禁用- 不推荐生产使用
- 要在极狐GitLab 自助管理实例中使用,请要求极狐GitLab 管理员启用它。
极狐GitLab 管理员可以通过显示和隐藏 UI 区域来调整允许注册 runner 的人。
默认情况下,项目和群组的所有成员都可以注册 runner。
限制实例中的所有用户注册 runner:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏,选择 设置 > CI/CD。
- 展开 Runner 注册。
- 在 Runner 注册 部分,清除 项目成员可以注册 runners 和 群组成员可以注册 runners 复选框,从 UI 中删除 runner 注册。
- 选择 保存更改。
限制群组内所有成员的 runner 注册
先决条件:
- 必须为实例中的所有用户启用 runner 注册。
极狐GitLab 管理员可以调整群组权限,以限制群组成员注册 runner。
限制特定群组成员的 runner 注册:
- 在顶部栏中,选择 主菜单 > 管理员。
- 在左侧边栏中,选择 概览 > 群组 并找到您的群组。
- 选择 编辑。
- 如果您想要禁用群组中所有成员的 runner 注册,请清除 可以注册新的群组 runner 复选框。如果设置为只读,则必须为实例启用 runner 注册。
- 选择 保存更改。
禁用 runner 版本管理
引入于 15.10 版本。
默认情况下,极狐GitLab 实例会定期从 SaaS 获取官方 runner 版本数据,确定 runner 是否需要升级。
要禁用您的实例获取此数据:
- 在顶部栏中,选择 主菜单 > 管理员。
- 在左侧边栏中,选择 设置 > CI/CD。
- 展开 Runners。
- 在 Runner 版本管理 部分,清除 获取 Runner 发布版本数据 复选框。
- 选择 保存更改。
故障排查
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>.