新创建新gitlab,版本需和备份的gitlab版本一致
docker run -d -p 322:22 -p 822:80 --name gitlab_1 gitlab/gitlab-ce:16.2.4-ce.0
进入容器内部 docker exec -it c51685817e27 /bin/bash
新的环境至少运行过一次,sudo gitlab-ctl reconfigure
确认GitLab是否 正常运行,sudo gitlab-ctl status
使用gitlab-ctl命令停止unicorn(或者puma)以及sidekiq服务
gitlab-ctl stop unicorn
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
报错:
ERROR: must be owner of extension btree_gist
ERROR: must be owner of extension btree_gist
ERROR: must be owner of extension pg_trgm
- 修改postgresql配置
vi /var/opt/gitlab/postgresql/data/postgresql.conf
listen_addresses = '*'
vi /var/opt/gitlab/postgresql/data/pg_hba.conf
最下面新增两行
local all all trust
host all all 127.0.0.1/32 trust
2.重启gitlab服务
gitlab-ctl restart
3.修改gitlab账号为超级用户
root@c51685817e27:/# su - gitlab-psql
$ /opt/gitlab/embedded/bin/psql -h 127.0.0.1 gitlabhq_production
psql (13.11)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.
gitlabhq_production=# ALTER USER gitlab WITH SUPERUSER;
ALTER ROLE
gitlabhq_production=# \q
停服务
gitlab-ctl reconfigure
gitlab-ctl stop unicorn
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
拷贝备份文件
确定备份目录: /etc/gitlab.rb
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
/var/opt/gitlab/backups
docker cp 1713382241_2024_04_18_16.2.4_gitlab_backup.tar c51685817e27:/var/opt/gitlab/backups/
赋权备份文件777权限
备份文件: 1713382241_2024_04_18_16.2.4_gitlab_backup.tar
恢复命令:
gitlab-rake gitlab:backup:restore BACKUP=1713382241_2024_04_18_16.2.4
注意:末尾不要加日期与压缩后缀。 坑。。。
恢复完成后,还需要恢复gitlab.rb gitlab-secrets.json 文件
然后重置,重启gitlab
gitlab-ctl reconfigure && gitlab-ctl restart && gitlab-rake gitlab:check SANITIZE=true