本文分享如何使用极狐GitLab 的项目延迟删除功能来避免仓库被用户误操作。该功能设置了删除延时时间,在延时期间内,用户还可以对项目进行恢复。

极狐GitLab 为 GitLab 的中文发行版,中文版本对中国用户更友好。可以一键私有化部署,也可以直接使用 SaaS。

极狐GitLab 群组、项目的删除保护功能,主要是为了防止群组、项目被用户误删除,从而导致数据丢失。下面演示该功能的使用。



前提条件

使用该功能需要具备以下三个必要条件:


  • 必须具有管理员角色
  • 开启了延迟删除功能
  • 该功能只对群组以及群组下面的项目有效,对于个人命名空间下的项目不生效,点击删除就会被立即删除。


开启延迟删除功能

针对 16.0 及以后的版本,开启该功能的步骤为:


  1. 在左侧导航栏中,选择管理中心
  2. 选择设置 --> 通用
  3. 点击可视化和访问控制
  4. 下拉找到删除保护并且设置好保留期。具体时间为 1-90 之内的证书,代表保留多少天。
  5. 保存配置即可。

被误删除的 GitLab 群组和项目该如何恢复?_GitLab


项目的删除和恢复

如果开启了该功能,删除群组中的项目,第一次删除时(项目 --> 设置 --> 通用 --> 高级 --> 删除项目):

被误删除的 GitLab 群组和项目该如何恢复?_GitLab_02

项目会标记为等待删除。

被误删除的 GitLab 群组和项目该如何恢复?_DevOps_03

因为设置了保护周期为 7 天,因此会在删除之日起的 7 天之后被删除,项目上方明确显示了项目将被删除的具体日期

如果发现删除是误操作,那么可以在保护期内对项目进行恢复(超过保护期项目就会被彻底删除)。

项目 --> 设置 --> 通用 --> 高级选项中点击恢复项目即可:

被误删除的 GitLab 群组和项目该如何恢复?_DevOps_04

如果确定要对项目进行立即删除,则重复执行两次删除,就可以立即删除项目:

被误删除的 GitLab 群组和项目该如何恢复?_DevSecOps_05


群组的删除和恢复

对于删除群组来讲也是一样的。在群组 --> 设置 --> 通用 --> 高级中选择删除群组:

被误删除的 GitLab 群组和项目该如何恢复?_DevSecOps_06

删除之后,会提示该群组在保护期过后被删除,也会给出具体的删除日期:

被误删除的 GitLab 群组和项目该如何恢复?_DevSecOps_07

当然,如果发现了是误删除,则可以赶紧进行恢复。同样在项目 --> 设置 --> 通用 --> 高级中选择恢复群组

被误删除的 GitLab 群组和项目该如何恢复?_DevSecOps_08

如果确定真的要删除群组,重复执行两次删除操作即可删除:

被误删除的 GitLab 群组和项目该如何恢复?_DevSecOps_09

有了群组、项目延迟删除功能,就能够避免因为误操作带来的数据丢失了。