文章目录
前言
当前服务器运行内存不足,迁移至新服务器,gitlab版本:15.7.0
一、迁移过程
1.1 数据备份
# gitlab-rake gitlab:backup:create #默认在/var/opt/gitlab/backups目录下生成备份文件-tar包
# /etc/gitlab/gitlab.rb gitlab-secrets.json #手动备份两个文件
1.2 还原
提示:新服务器gitlab版本必须与原服务器版本一致
# 停止与数据库相关进程
# gitlab-ctl stop unicorn
# gitlab-ctl stop sidekiq
# gitlab-ctl stop puma
# gitlab-rake gitlab:backup:restore BACKUP=1675732601_2023_02_07_15.7.0 # 还原,使用备份tar包时间戳
# gitlab-ctl restart # 重启服务
# gitlab-ctl start unicorn
二、问题记录
2.1 还原报错 “must be owner of extension btree_gist”
Restoring PostgreSQL database gitlabhq_production … ERROR: must be
owner of extension pg_trgm 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配置
# vim /var/opt/gitlab/postgresql/data/postgresql.conf
listen_addresses = '*' #修改为 *
# vim /var/opt/gitlab/postgresql/data/pg_hba.conf # 最下面新增两行
local all all trust # 原local配置可注释
host all all 127.0.0.1/32 trust
# gitlab-ctl restart # 重启服务
# su - gitlab-psql # 修改gitlab账号为超级用户
/opt/gitlab/embedded/bin/psql -h 127.0.0.1 gitlabhq_production
psql (13.8)
Type "help" for help.
gitlabhq_production=# ALTER USER gitlab WITH SUPERUSER;
ALTER ROLE
gitlabhq_production=# \q
# gitlab-rake gitlab:backup:restore BACKUP=** # 重新执行还原命令
2.2 还原报错 “ Error No space left on device ”
- 修改gitlab默认备份路径,存储路径
# gitlab-ctl stop
# mkdir -p /data/gitlab/backups #创建新的备份路径
# mkdir -p /data/gitlab/gitlab-data #创建新的存储路径
# vi /etc/gitlab/gitlab.rb
# 修改配置:
git_data_dirs({
“default” => {
“path” => “/data/gitlab/gitlab-data” # 存储路径
}
})
gitlab_rails['backup_path'] = "/data/gitlab/backups" # 备份路径
# gitlab-ctl reconfigure # 重新加载配置
# gitlab-ctl restart
# 关闭数据库相关进程
# gitlab-rake gitlab:backup:restore BACKUP=** # 重新执行还原命令
三、gitlab后台设置管理员账户
# gitlab-rails console -e production
--------------------------------------------------------------------------------
GitLab: 12.8.7 (b679f55a199) FOSS
GitLab Shell: 11.0.0
PostgreSQL: 10.12
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.2)
irb(main)
> user = User.where(id: 1).first # 此 user 则表示 root 用户
> user.password = 'pwd' # 修改密码
> user.password_confirmation = 'pwd' # 确认密码
> user.save # 保存
> exit # 退出
# 前端登录后 settions -> preferences -> localization 设置中文
四、gitlab端口修改
# vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
server { ## HTTPS server
listen *:8081 # 修改端口
# vi /etc/gitlab/gitlab.rb
# nginx['listen_port'] = 8081 # 修改端口
# gitlab-ctl reconfigure
# gitlab-ctl restart