gitlab批量导入项目或迁移 - 1990bingliu/ubuntu_gitlab GitHub Wiki

gitlab仓库A迁移gitlab仓库B

  1. step.1找到gitlab仓库A的存放地址,可查看/etc/gitlab/gitlab.rb,默认存放在 /var/opt/gitlab/git-data/repository
  2. step.2打包仓库 tar czvf old_repos.tar.gz /var/opt/gitlab/git-data/repository/*
  3. step.3把old_repos.tar.gz拷贝到新的gitlab服务器B上
  4. step.4解压*.tar.gz,
mkdir -P /var/opt/gitlab/git-data/import-data
tar xf group_xxx.tar.gz -C /var/opt/gitlab/git-data/import-data`
  1. step.5修改权限 chown -R git:git /var/opt/gitlab/git-data/import-data
  2. step.6开始执行导入仓库 gitlab-rake gitlab:import:repos['/var/opt/gitlab/git-data/import-data']

注意:导入前,应构建一个与gitlab仓库目录结构相同的目录,并把需要导入'*.git',放在期望导入的目录下

如,gitlab的仓库目录结构为

repos
 -Agroup
  -aa.git
  -ab.git
 -Bgroup
  -ba.git
  -bb.git

希望把'test.git'导入到Bgroup下面,则应先构建相同的目录结构,如下

import-data
 -Bgroup
  -test.git

导入时,则执行sudo gitlab-rake gitlab:import:repos['/var/opt/gitlab/git-data/import-data']

注意:1.目录需要授权git用户及组 2.仓库的文件夹名应为*.git格式