Gitlab迁移方法

1、配置环境
安装一些基础环境
yum install -y curl policycoreutils-python openssh-server cronie
添加源
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

安装 GitLab CE 版本,运行命令就可以开始自动部署
  yum install -y gitlab-ce
(主线无关)可以访问"https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/"查看Gitlab-ce的版本。 安装历史版本请使用下面命令:

yum install -y gitlab-ce-{VERSION}

yum install -y gitlab-ce-10.4.3

查看版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

修改Gitlab配置文件指定服务器IP

vim /etc/gitlab/gitlab.rb
修改(大概13行)
external_url 'http://gitlab.example.com' 为 external_url 'http://192.168.238.104'

300行,修改gitlab存储目录(默认路径/var/opt/gitlab/git-data/)
创建新存储目录

mkdir -p /data/gitlab/git-data

修改配置文件(找到 git_data_dirs 参数对应的配置)

vim /etc/gitlab/gitlab.rb

 git_data_dirs({
   "default" => {
     "path" => "/data/gitlab/git-data"
    }
 })
————————————————



配置并启动
 gitlab-ctl reconfigure
 gitlab-ctl restart

首次登录GitLab
http://192.168.238.104
让你修改密码
test123456


###########附录
1、修改管理员密码
进入 GitLab 控制台
GitLab 版本不同,命令会有所不同(网上说的而基本都是gitlab-rails console production ),推荐大家直接上 GitLab 官网去找对应版本的命令

 gitlab-rails console -e production

进入控制台后,执行下面命令,此 user 则表示 root 用户

 user = User.where(id: 1).first 

修改密码,确认密码

user.password = 'secret_pass'
user.password_confirmation = 'secret_pass'

保存密码

  user.save!

2、修改nginx配置文件
/var/opt/gitlab/nginx/conf/gitlab-http.conf

3、配置host为域名
/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
#############

迁移工作

##GitLab备份和恢复
1、备份

/etc/gitlab/gitlab-secrets.json 这个文件备份下,放到新服务器上

# 可以将此命令写入crontab,以实现定时备份
gitlab-rake gitlab:backup:create

备份的数据会存储在/var/opt/gitlab/backups,用户通过自定义参数 gitlab_rails['backup_path'],改变默认值。

2、恢复

复制 
# 停止unicorn和sidekiq,保证数据库没有新的连接,不会有写数据情况
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
    
# 进入备份目录进行恢复,1476900742为备份文件的时间戳
cd /var/opt/gitlab/backups
gitlab-rake gitlab:backup:restore BACKUP=1722938018_2024_08_06_10.4.3
cd -
    
# 启动unicorn和sidekiq
gitlab-ctl start unicorn
gitlab-ctl start sidekiq

替换gitlab-secrets.json文件
将旧服务器/etc/gitlab/gitlab-secrets.json替换新服务器/etc/gitlab/gitlab-secrets.json,注意先提前备份一下新服务器该文件,以免有问题还原。

重启gitlab服务
gitlab-ctl restart

如果迁移过后,本地拉取上传代码报错,
git config --global 设置全局账号就行了
这样所有本地仓库都用一个账号
需要在自己本地执行ssh-keygen -R Gitlab服务器IP


-----------------------------------

安装参考
https://blog.51cto.com/u_15932265/5993278

迁移参考
https://blog.csdn.net/lp1302190871/article/details/139353046
https://blog.csdn.net/m0_59148371/article/details/139990685

分享到:
关键词:Gitlab

网友留言(0 条)

发表评论

验证码