如何创建并使用极狐GitLab 受保护标签?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有:

受保护的标签 (BASIC ALL)

受保护的标签:

  • 允许控制谁有权创建标签。
  • 一旦创建,防止意外更新或删除。

每个规则都允许您匹配:

  • 一个单独的标签名称。
  • 通配符一次控制多个标签。

此功能由受保护的分支演变而来。

谁可以修改受保护的标签

默认情况下:

  • 要创建标签,您必须具有维护者角色。
  • 没有人可以更新或删除标签。

配置受保护的标签

先决条件:

  • 您必须至少具有该项目的维护者角色。

1.在左侧边栏中,选择 搜索或转到 并找到您的项目。

2.选择 设置 > 仓库

3.展开 受保护的标签

4.要保护单个标签,请选择 标签,然后从下拉列表中选择您的标签。

5.保护名称与字符串匹配的所有标签:

1.选择 标签

2.输入用于标签匹配的字符串。支持通配符 (*)。

3.选择 创建通配符

6.在 允许创建 中,选择可以创建受保护标签的用户或角色。

NOTE:在专业版和旗舰版中,您还可以添加群组或个人用户到允许创建。

7.选择 保护

受保护的标签(或通配符)显示在 受保护的标签 列表中。

添加群组到受保护标签

要设置群组或子群组成员以被允许创建受保护标签:

1.在左侧导航栏,选择 搜索或转到 并找到您的项目。

2.选择 设置 > 仓库

3.展开 受保护的标签

4.将群组添加到如下字段中:

clike 复制代码
# Allow group members to create protected tags
Allowed to create: @group-x
群组的继承和资格

在此示例中:

父群组 Xgroup-x)拥有项目 A

父群组 X 还包含一个子群组子群组 Ygroup-x/subgroup-y)。

项目 A子群组 Y共享。

符合受保护标签权限条件的群组如下:

项目 A父群组 X子群组 Y ,因为项目 A子群组 Y 共享。

与群组共享项目以赋予(其)受保护标签权限。

您可以将项目与一个组或子组共享,这样这些组的成员就有资格获得受保护标签的权限。

要为让 子群组 Y 的成员能够访问 项目 A,您必须将项目共享到子群组。直接讲子群组条件到受保护标签中是不高效的而且无法适用于子群组的成员。

NOTE:对于具有受保护标签权限的群组,项目必须被直接共享到群组中。从父群组继承的项目成员关系不足以获得受保护标签权限。

受保护的标签通配符

您可以指定一个保护标签通配符,它会保护所有与通配符匹配的标签。例如:

受保护的标签通配符 匹配标签
v* v1.0.0, version-9.1
*-deploy march-deploy, 1.0-deploy
*gitlab* gitlab, gitlab/v1
* v1.0.1rc2, accidental-tag

两个不同的通配符可能匹配同一个标签。 例如,*-stableproduction-* 都会匹配一个 production-stable 标签。

在这种情况下,如果这些受保护标签中的任何具有类似 允许创建 的设置,那么 production-stable 也会继承此设置。

如果单击受保护标签的名称,系统会显示所有匹配标签的列表:

防止创建与分支同名的标签

同名的标签和分支可以包含不同的提交。如果您的标签和分支使用相同的名称,则运行 git checkout 命令的用户可能会检查标签 qa,而不是检查分支 qa

为了防止这个问题:

1.确定您不想用作标签的分支名称。

2.如配置受保护的标签中所述,创建受保护的标签:

  • 名称 中,请提供一个名称,例如 stable。您还可以创建通配符,例* 如 stable-* 来匹配多个名称,例如 stable-v1stable-v2
  • 允许创建 中,选择 No one
    3.选择 保护

用户仍然可以使用受保护的名称创建分支,但不能创建标签。

允许部署密钥创建受保护标签

  • 引入于极狐GitLab 15.11。

您可以通过部署密钥来创建受保护标签。

先决条件:

  • 必须为您的项目启用部署密钥。当在项目中创建部署密钥时,就会默认启用。然而,必须要授权公共部署密钥能够访问您的项目。
  • 部署密钥必须具有您项目的写权限。
  • 部署密钥的所有者必须至少具有项目读取权限。
  • 部署密钥的所有者必须也是项目成员。

要想允许部署密钥来创建受保护标签:

1.在左侧导航栏,选择 搜索或转到 并找到您的项目。

2.选择 设置 > 仓库

3.展开 受保护标签

4.从 标签 下拉列表中选择您想要保护的标签。

5.从 允许创建 下拉列表中选择部署密钥。

6.选择 保护

在受保护标签上运行流水线

创建受保护标签的权限定义了用户是否可以:

  • 继承并运行 CI/CD 流水线。
  • 执行与这些标签关联的任务。

这些权限能够确保只有授权用户可以为受保护标签触发和管理流水线。

删除受保护的标签

您可以使用 API 或用户界面手动删除受保护的标签。

先决条件:

  • 您必须在项目中至少拥有维护者角色。

操作步骤:

1.在左侧边栏中,选择 搜索或转到 并找到您的项目。

2.选择 代码 > 标签

3.在您要删除的标签旁边,选择 删除 ({remove})

4.在确认对话框中,输入标签名称并选择 删除受保护的标签

只能使用极狐GitLab 从 UI 或 API 删除受保护的标签。这些保护措施可防止您通过本地 Git 命令或第三方 Git 客户端意外删除标签。

相关推荐
likangbinlxa4 小时前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k4 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦4 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL5 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·5 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德5 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫6 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i6 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.6 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn6 小时前
【Redis】渐进式遍历
数据库·redis·缓存