欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Linux中gitlab汉化及数据迁移

最编程 2024-02-16 12:35:56
...

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、Linux中gitlab汉化

1.gitlab汉化需要和下载版本一致的汉化包,比如我的为10.0.0在此下载10.0.0的汉化包

https://gitlab.com/xhang/gitlab

选择跟安装版本一样的汉化包,

181DDEE1-76C8-46FD-BEB8-BC7CF4BC1C2F.png

2.下载完成后上传到服务器然后解压缩

tar -xvf  gitlab-v10.0.0-zh.tar.gz

3.解压之后查看版本

cat gitlab-v10.0.0-zh/VERSION

F64A246C-3B26-4189-A2A6-067A66DA9186.png

4.对比之前的版本

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

052C5595-92B3-48F6-999E-24EFD6F1913E.png

5.停止服务

gitlab-ctl  stop

6.为防止覆盖的时候出现意外,我们需要将原来的版本备份

cp -r /opt/gitlab/embedded/service/gitlab-rails{,.ori}

7.中文版覆盖英文版

cp -rf gitlab-v10.7.0-zh/* /opt/gitlab/embedded/service/gitlab-rails/ 

执行上面命令时,会产生交互需要每个都确认是否覆盖,此时我们取消提示

方法1:cp前面加\可以取消提示          

\cp -rf gitlab-v10.7.0-zh/* /opt/gitlab/embedded/service/gitlab-rails/

方法2:临时取消cp的别名

unaslias cp   

cp -rf gitlab-v10.7.0-zh/* /opt/gitlab/embedded/service/gitlab-rails/

方法3:使用管道自动输入yes。     

yes|cp -fr gitlab-v10.7.0-zh/* /opt/gitlab/embedded/service/gitlab-rails/   

8.遇到的问题:

ECEF489E-D6F6-44B6-AED6-284D38E53864.png

此报错不用管,因为已经设置root密码,登录过,所以会报错。

9.重新配置gitlab

gitlab-ctl reconfigure

重启启动gitlab

gitlab-ctl restart

刷新页面,就是中文版了。

二、gitlab同服务器数据迁移

一开始没有考虑到把gitlab划分好存储目录,占用系统磁盘,由于gitlab是默认安装的,随着公司代码越来越多,导致gitlab数据目录空间不足,因此需要把数据重新放到其他磁盘

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

vim /etc/gitlab/gitlab.rb

把注释取消然后指定新的仓库存储位置

git_data_dirs({ "default" => { "path" => "/home/gitlab" } })

注:/home/gitlab是我新挂载的目录,

目标路径和其子路径必须不能为软链接

在没有数据的情况下

//先停止gitlab服务   

gitlab-ctl stop

//使修改生效

gitlab-ctl reconfigure 

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

1.先停止GitLab服务,防止用户写入数据。

gitlab-ctl stop 

2.执行迁移命令

rsync -av /var/opt/gitlab/git-data/repositories /home/gitlab

如果需要修复权限设置,可运行下面的命令进行修复

gitlab-ctl reconfigure

再次检查下 /home/gitlab 的目录. 正常情况应该有下面这个子目录: # repositories

ls  /home/gitlab

启动GitLab,验证下是否能通过web访问Git仓库。

gitlab-ctl start

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

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

git_data_dirs({

  "default" => { "path" => "/var/opt/gitlab/git-data" }, //默认存储目录

   "alternative" => { "path" => " /data/git-data" } //备用存储目录 })

我们也可以在开始安装gitlab的时候就修改存储目录,避免后续的迁移

三、gitlab数据迁移到其他服务器

1.备份git服务器数据

gitlab-rake gitlab:backup:create RAILS_ENV=production

注:默认备份后文件一般位于/var/opt/gitlab/backups/,文件名字:

1565163295_2019_08_07_10.0.0_gitlab_backup.tar

2.由高版本的Gitlab无法恢复低版本备份的数据,新服务器上安装与原服务器一样版本的gitlab。

3.将生成的tar文件拷贝到新服务器对应的backups目录下

scp /var/opt/gitlab/backups/1565163295_2019_08_07_10.0.0_gitlab_backup.tar username@ip:/var/opt/gitlab/backups/

如果无法使用scp命令,可以通过xftp把文件上传和下载

4.新GitLab服务数据恢复

gitlab-rake gitlab:backup:restore RAILS_ENV=production   BACKUP=1565163295_2019_08_07_10.0.0

5.重启gitlab服务并检测恢复数据情况

gitlab-ctl restart

gitlab-rake gitlab:check SANITIZE=true

6.迁移之后克隆地址修改

vim /etc/gitlab/gitlab.rb

17469FE4-756C-47C8-BBBD-A9E2B386498A.png

推荐阅读