gitlab 存储仓库目录设置及数据迁移

设置存储仓库数据

默认情况下omnibus-gitlab 将仓库数据存储在 /var/opt/gitlab/git-data目录下,仓库存放在子目录 repositories里面。 以可以通过修改/etc/gitlab/gitlab.rb 的这一行来自定义 git-data 的父目录

#  vim /etc/gitlab/gitlab.rb 
# 把注释取消然后指定新的仓库存储位置,需要事先创建好该目录
git_data_dirs({
   "default" => {
     "path" => "/server/gitlab-data"
    }
 })

注: /server/gitlab-data 是新创建的目录,目标路径和其子路径必须不能为软链接。

设置生效

在没有数据的情况下

[root@gitlab ~]#  gitlab-ctl stop
[root@gitlab ~]# gitlab-ctl reconfigure //使修改生效

在有数据的情况下

如果 /var/opt/gitlab/git-data 目录已经存在Git仓库数据, 可以用下面的命令把数据迁移到新的位置

# 准备迁移之前要停止GitLab服务,防止用户写入数据。
[root@gitlab ~]# gitlab-ctl stop
 
# 注意 'repositories'后面不带斜杠,而'/server/gitlab-data'后面是有斜杠的。
[root@gitlab ~]# rsync -av /var/opt/gitlab/git-data/repositories /server/gitlab-data/
 
# 如果需要修复权限设置,
# 可运行下面的命令进行修复。
[root@gitlab ~]# gitlab-ctl reconfigure
 
# 再次检查下 /server/gitlab-data 的目录. 正常情况应该有下面这个子目录:
# repositories
 
[root@gitlab ~]# ls /server/gitlab-data/
repositories
# 完工! 启动GitLab,验证下是否能
# 通过web访问Git仓库。
[root@gitlab ~]# gitlab-ctl start

设置存储仓库数据的备用目录

自GitLab 8.10开始,可以通过在/etc/gitlab/gitlab.rb文件中添加下面的几行配置, 来增加多个 git 数据存储目录。

git_data_dirs({
  "default" => { "path" => "/var/opt/gitlab/git-data" },  //默认存储目录
  "alternative" => { "path" => " /server/gitlab-data" }     //备用存储目录
})

备用目录,顾名思义应该是第一个目录满了或者出错就会使用备用目录,正常就是满了

posted @   哈喽哈喽111111  阅读(2335)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2020-06-22 在容器中管理数据的两种方式
2020-06-22 docker -v 和Dockerfile 中VOLUME 区别
2020-06-22 docker常用命令
2020-06-22 通过使用nginx来实现logstash的负载均衡
点击右上角即可分享
微信分享提示