gitlab的基础信息

gitlab默认启动8080端口,还有nginx的80端口
gitlab配置修改:/etc/gitlab/gitlab.rb
gitlab nginx修改:/var/opt/gitlab/nginx/conf/gitlab-http.conf
gitlab默认备份位置: /var/opt/gitlab/backups
gitlab配置都会生成到 /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
直接修改/etc/gitlab/gitlab.rb 会生成到上面的配置文件里
# 查看日志,这点很重要
这里可以直接看到gitlab的用户验证日志
/var/log/gitlab/gitlab-shell/gitlab-shell.log
gitlab迁移首先需要明确是同版本迁移还是跨版本迁移
! 同版本迁移,https://packages.gitlab.com/gitlab/gitlab-ce?page=303 ,rpm包直接安装即可
! 跨版本迁移,需要注意不能跨版本迁移,比如说版本9,就需要先更新到版本9的最新版本,然后再更新到版本10....
参考https://docs.gitlab.com/ee/update/index.html

image


1、先找到相同版本的gitlab包

rpm -ivh 直接安装

2、旧服务器上进行gitlab备份操作

gitlab-rake gitlab:backup:create RAILS_ENV=production

3、修改gitlab配置后reconfigure

gitlab-ctl reconfigure

4、如果备份文件名称修改了那么需要改回去

停止 unicorn 和 sidekiq ,保证数据库没有新的连接,不会有写数据情况。
mv 1641457001_2022_01_06_11.8.0_gitlab_backup.tar  gitlab/backups/
BACKUP=后面只需要写_gitlab_backup.tar之前的部分
gitlab-rake gitlab:backup:restore RAILS_ENV=production   BACKUP=1641457001_2022_01_06_11.8.0

5、备份恢复执行完成后重启gitlab

gitlab-ctl restart

6、重启后检查gitlab备份恢复状态

gitlab-rake gitlab:check SANITIZE=true

备份前普通用户是被锁定的状态(管理员手动锁定的),所有备份恢复后普通用户无法登录,老环境登录报错是账户被block,新环境登录报错是invlid password,最后使用管理员账号确认可以登录并且项目都存在

还遇到了一个尴尬的问题,gitlab管理员密码都记得,但是MFA忘了,需要登录gitlab界面取消MFA,但是登录界面又需要MFA
寻找破解的方法,最后通过修改数据库来强制取消MFA,可以参考
https://www.cnblogs.com/andy9468/p/10606883.html
我在修改数据库后过了一段时间才生效!