如何创建并使用极狐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 客户端意外删除标签。

相关推荐
点灯小铭8 分钟前
基于单片机的多模式自动洗衣机设计与实现
数据库·单片机·嵌入式硬件·毕业设计·课程设计
潜心编码10 分钟前
基于python的仓库管理系统
数据库
herinspace12 分钟前
如何设置电脑分辨率和显示缩放
服务器·数据库·智能手机·电脑
biubiubiu070613 分钟前
Ubuntu中定时任务测试
数据库·postgresql
程序新视界1 小时前
在MySQL中,一条SQL语句的执行全流程是怎样的?
数据库·后端·mysql
todoitbo2 小时前
我用 TRAE 做了一个不一样的 MySQL MCP
数据库·mysql·adb·ai工具·mcp·trae·mysql-mcp
CodeJourney.2 小时前
Python开发可视化音乐播放器教程(附代码)
数据库·人工智能·python
神秘人X7072 小时前
Jenkins 持续集成与部署指南
运维·ci/cd·jenkins
呆呆小金人2 小时前
SQL入门:正则表达式-高效文本匹配全攻略
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
白鲸开源3 小时前
(二)从分层架构到数据湖仓架构:数据仓库分层下的技术架构与举例
大数据·数据库·数据分析