当gitlab的数据库坏了,或者其他的组件坏了,修复教程。

  • 2022 年 2 月 24 日
  • 笔记

一般企业的gitlab都承载着多个项目的源码和提交记录

如果gitlab的数据库 PostgreSQL 坏掉了,基本很难修复,那这是不是意味着源码丢失了呢。

本文章只针对 gitlab传统存储方式的修复。gitlab14.X 版本后使用的hash存储,并没有研究如何修复。

 

1.首先要确定的是 gitlab-data 文件夹是否丢失,如果保存源码的文件夹丢失,那么就不用继续看了。

2.如果是gitlab 单个组件异常可以尝试修复该组件

3.正文开始

   1.首先保存一份gitlab-data 文件夹到本地,保证这些git库的备份

 2.重装一分相同版本的gitlab,并进行默认配置,使得可以访问

   3.如果是群组下的git仓库,先创建好相同名称的群组,这样服务器的gitlab-data/repositories文件夹中会出现一个群组名文件夹

   4.将本地的群组内的 .git文件夹 *2 复制进去群组文件夹中(每个库有2个.git文件夹 )

   5.创建同名项目,于是你会发现一切都回来了。

 

备注:当创建同名项目很有可能报错权限不足等问题。

使用chmod  -R 777  gitlab-data/repositories  给该文件夹赋予权限。

 

希望大家遇到此类的问题不要慌,只要版本库还在,总有解决的办法