- 更改哪些用户可以查看您的流水线
- 自动取消冗余流水线
- 阻止过期的部署作业
- 限制能够取消流水线或作业的角色
- 指定自定义 CI/CD 配置文件
- 选择默认的 Git 策略
- 限制克隆期间获取的更改数量
- 设置作业可以运行的时间限制
- 流水线徽章
- 禁用极狐GitLab CI/CD 流水线
自定义流水线配置
您可以自定义流水线为您的项目运行的方式。
更改哪些用户可以查看您的流水线
对于公共和内部项目,您可以更改谁可以看到您的:
- 流水线
- 作业输出日志
- 作业产物
- 流水线安全仪表盘
要更改流水线和相关功能的可见性:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 在左侧边栏中,选择 设置 > CI/CD。
- 展开 流水线通用设置。
-
选中或清除 公开流水线 复选框。 当它被选中时,流水线和相关功能是可见的:
- 对于 公开 项目,所有人。
- 对于 内部 项目,除外部用户之外的所有登录用户。
- 对于 私有 项目,所有项目成员(访客或更高级别)。
清除时:
- 对于 公开 项目,作业日志、作业产物、流水线安全仪表盘和 CI/CD 菜单项仅对项目成员(报告者或更高级别)可见。包括来宾用户在内的其他用户只能查看流水线和作业的状态,并且只能在查看合并请求或提交时查看。
- 对于 内部 项目,除外部用户外,所有登录用户都可以看到流水线。 相关功能仅对项目成员(报告者或更高级别)可见。
- 对于 私有 项目,流水线和相关功能仅对项目成员(报告者或更高级别)可见。
更改公开项目中非项目成员的流水线可见性
您可以在公开项目中,控制非项目成员的流水线的可见性。
此设置在以下情况下无效:
要更改非项目成员的流水线可见性:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 展开 可见性、项目功能、权限。
- 对于 CI/CD,选择:
- 仅项目成员:只有项目成员可以查看流水线。
- 具有访问权限的任何人:非项目成员也可以查看流水线。
- 选择 保存更改。
CI/CD 权限表列举了当选择 Everyone With Access 时非项目成员可以访问的流水线功能。
自动取消冗余流水线
您可以将挂起或正在运行的流水线,设置为在同一分支上运行新流水线时自动取消。
您可以在项目设置中启用此功能:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 在左侧边栏中,选择 设置 > CI/CD。
- 展开 流水线通用设置。
- 选中 自动取消多余的流水线 复选框。
- 选择 保存修改。
使用 interruptible
关键字来指示是否可以在完成之前取消正在运行的作业。
阻止过期的部署作业
- 在极狐GitLab 15.5 中还引入了阻止手动和重试部署作业运行的选项。
您的项目可能有多个并发部署作业,这些作业计划在同一时间范围内运行。
这可能导致较旧的部署作业在较新的部署作业之后运行的情况,这可能不是您想要的。
为避免这种情况:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 在左侧边栏中,选择 设置 > CI/CD。
- 展开 流水线通用设置。
- 选中 阻止已过时的部署作业 复选框。
- 可选。清除 允许回滚部署重试 勾选框。
- 选择 保存修改。
有关详细信息,请参阅部署安全。
限制能够取消流水线或作业的角色
- 自极狐GitLab 16.7 引入。
您可以自定义哪个角色有取消流水线或作业的权限。
默认情况下,至少具有开发者角色的用户可以取消流水线或作业。您可以严格限制取消权限,比如只有具有维护者角色用户才可以,或者完全阻止取消任何流水线或作业。
要想修改取消流水线或作业的权限:
- 在左侧导航栏,选择 搜索或转到 并找到您的项目。
- 选择 设置 > CI/CD。
- 展开 通用流水线。
- 从 取消流水线或作业所需的最小角色 中选择一个选项。
- 选择 保存更改。
指定自定义 CI/CD 配置文件
系统期望在项目的根目录中找到 CI/CD 配置文件(.gitlab-ci.yml
)。但是,您可以指定备用文件名路径,包括项目外的位置。
自定义路径:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 在左侧边栏中,选择 设置 > CI/CD。
- 展开 流水线通用设置。
- 在 CI/CD 配置文件 字段中,输入文件名。如果文件:
- 不在根目录中,包含路径。
- 在不同的项目中,包括群组和项目名称。
- 在外部站点上,输入完整的 URL。
- 选择 保存修改。
NOTE: 您不可以使用您项目的流水线编辑器来编辑其他项目或外部站点的 CI/CD 配置。
自定义 CI/CD 配置文件示例
如果 CI/CD 配置文件不在根目录中,则路径必须是相对于它的。 例如:
my/path/.gitlab-ci.yml
my/path/.my-custom-file.yml
如果 CI/CD 配置文件位于外部站点上,则 URL 必须以 .yml
结尾:
http://example.com/generate/ci/config.yml
如果 CI/CD 配置文件在不同的项目中:
- 文件必须存在于其默认分支上,或者将分支指定为 refname。
- 路径必须相对于其他项目中的根目录。
- 路径后面必须跟一个
@
符号以及完整的群组和项目路径。
例如:
.gitlab-ci.yml@namespace/another-project
my/path/.my-custom-file.yml@namespace/sub-group/another-project
my/path/.my-custom-file.yml@namespace/sub-group1/sub-group2/another-project:refname
如果配置文件在单独的项目中,可以设置更细粒度的权限。例如:
- 创建一个公共项目来托管配置文件。
- 仅向允许编辑文件的用户授予对项目的写入权限。
这样其他用户和项目就可以访问该配置文件而不能对其进行编辑。
选择默认的 Git 策略
您可以选择在作业运行时如何从极狐GitLab 获取您的仓库。
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 在左侧边栏中,选择 设置 > CI/CD。
- 展开 流水线通用设置。
- 在 Git 策略 下,选择一个选项:
-
git clone
速度较慢,因为它为每个作业从头开始克隆仓库。但是,本地工作副本始终是 origin 的。 -
git fetch
更快,因为它重新使用本地工作副本(如果它不存在,则回退到克隆)。这是推荐方法,特别是对于大型仓库。
-
配置的 Git 策略可以被 .gitlab-ci.yml
文件中的 GIT_STRATEGY
变量覆盖。
限制克隆期间获取的更改数量
您可以限制 GitLab CI/CD 在克隆仓库时获取的更改数量。
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 在左侧边栏中,选择 设置 > CI/CD。
- 展开 流水线通用设置。
- 在 Git 策略 下,在 Git 浅克隆 下,输入一个值。
最大值为
1000
。要禁用浅克隆并使 GitLab CI/CD 每次都获取所有分支和标签,请将值保留为空或设置为0
。
新创建的项目,默认值为 20
。
这个值可以被 .gitlab-ci.yml
文件中的 GIT_DEPTH
变量覆盖。
设置作业可以运行的时间限制
您可以定义作业在超时之前可以运行多长时间。
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 在左侧边栏中,选择 设置 > CI/CD。
- 展开 流水线通用设置。
- 在 超时 字段中,输入分钟数或人类可读的值,如
2 hours
。必须是 10 分钟或更多,并且少于 1 个月。 默认值为 60 分钟。
超过超时的作业被标记为失败。
您可以为单个 runner 覆盖此值。
流水线徽章
您可以使用 流水线徽章来显示项目流水线的状态和测试覆盖率。这些徽章由最新的成功流水线决定。
禁用极狐GitLab CI/CD 流水线
极狐GitLab CI/CD 流水线默认为所有新项目启用。如果您使用外部的 CI/CD 服务器,诸如 Jenkins 或 Drone CI,您可以禁用极狐GitLab CI/CD 以避免与提交状态 API 的冲突。
我们可以为每个项目禁用极狐GitLab CI/CD 或为实例上所有的项目禁用。
当您禁用极狐GitLab CI/CD 时候:
- CI/CD 项在左侧边栏中被移除。
-
/pipelines
和/jobs
页面不再可用。 - 所有现有的作业和流水线被隐藏,而不是被移除。
要在项目中禁用极狐GitLab CI/CD:
- 在左侧导航栏,选择 搜索或前往 并找到您的项目。
- 选择 设置 > 通用。
- 展开 可见性,项目功能,权限。
- 在 仓库 部分,关闭 CI/CD。
- 选择 保存更改。
这些变更不会应用到外部集成中的项目上。
–>