centos7搭建gitlab(二)之gitlab仓库迁移

来源:互联网 发布:js数组对象排序函数 编辑:程序博客网 时间:2024/06/16 07:26

一、gitlab仓库

首先,要找到gitlab的仓库,git仓库默认存放在:/var/opt/gitlab/git-data


二、下载仓库数据

可以使用可视化工具,直接将仓库里的数据都复制出来。

但是博主碰到一个问题,就是gitlb所在的服务器是被保护的,不能被ssh连接,只能通过命令下载

Linux的sz下载命令

yum install lrzsz
下载仓库文件
sz filename
然后博主又遇到一个问题,就是博主这边使用的docker容器里连yum命令都没有(气哭),为了下载一个仓库还要安装yum源太麻烦了,又查了一下docker和宿主机间交换文件的命令
sudo docker cp 容器ID:容器文件路径 主机路径

三、上传至新的仓库
将刚才下载的数据上传至新的gitlab的仓库目录下,上传也可以使用可视化工具,或者Linux的rz命令等(可以参考上述下载的方法都有对应的上传命令的)
这里需要一点特别注意的!!!

高版本的gitlab不能兼容低版本的gitlab,所以最好新旧gitlab的版本一致!!!

建议先导入一个试一下,博主遇到了虽然最后提示导入成功,但是刷新gitlab的网站,并没有显示新项目的问题,如果遇到这个问题,需要手动创建新项目再导入数据(详见下面【四、创建项目】)
在导入时,GitLab只认文件夹名以.git结尾的项目。如果文件名没有以.git结尾,将要导入的项目文件夹名称加上.git后缀,再次进行导入。
运行GitLab导入命令
sudo gitlab-rake gitlab:import:repos
结果显示导入成功,比如:
Processing komi/demoJob.git
* Created demoJob (komi/demoJob .git)
Done!
修改一下导入的所有项目的文件所有者
chown -R git:git /var/opt/gitlab/git-data/repositories/
如果不修改所有者,客户端无法进行git push。


四、创建项目

如果GitLab站点上看不到已导入的项目,只能手动先新建一个名字相同的空项目:
1)在GitLab站点上创建与要导入的项目同名的项目。
2)进入刚创建的项目文件夹
cd /var/opt/gitlab/git-data/repositories/项目名称.git
3)删除该文件下的所有文件
rm -rf *
4)将要导入的项目文件夹下的所有文件复制过来
5)运行GitLab导入命令
sudo gitlab-rake gitlab:import:repos
6)修改一下导入的所有项目的文件所有者
chown -R git:git/var/opt/gitlab/git-data/repositories/

五、修改root密码

从头阅读的朋友可能已经发现了,博主之前安装了一个高版本的gitlab,结果发现仓库不能迁移,于是又卸载了高版本的,安装了一个和原来一样版本的gitlab。

但是可能卸载的时候配置文件没有清理干净,所以博主重新安装完以后,并没有提示让我修改root账号密码,但是刚刚设置的密码又不能使用了。

其实就是忘记了gitlab的root密码。。。

那么我们来看看怎么修改吧!

1)在root用户下,执行

gitlab-rails console production

获取用户数据

irb(main):001:0> user = User.where(id: 1).first
2)修改密码
irb(main):002:0> user.password=12345678

3)重复输入密码

irb(main):003:0> user.password_confirmation=12345678

4)保存修改

irb(main):004:0> user.save!

5)退出

irb(main):005:0> quit

注意:密码不能使用引号,否则会无效!!!

原创粉丝点击