目的: A gitlab >>> 全量迁移到 >>> B gitlab
备注:源码 包括用户私钥那些 全都会一模一样的迁移过去
非常重要 提前设置备份参数:
vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800
重新加载一下配置
gitlab-ctl reconfigure
# 检查2端的gitlab版本是否一致 必须满足同一个版本的条件
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
1.A gitlab
打出备份包 :1646701560_2022_03_08_14.0.6_gitlab_backup.tar
/usr/bin/gitlab-rake gitlab:backup:create
备份包scp过去到B服务器
2.B gitlab
gitlab-ctl status
# 停止
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
chmod 777 1646701560_2022_03_08_14.0.6_gitlab_backup.tar
sudo chown git:git 1646701560_2022_03_08_14.0.6_gitlab_backup.tar
gitlab-rake gitlab:backup:restore BACKUP=1646701560_2022_03_08_14.0.6
gitlab-ctl restart
然后检查启动状态和logs 没问题 项目百分百分过去了
常用命令
服务管理
# 启动所有 gitlab 组件:
gitlab-ctl start
# 停止所有 gitlab 组件:
gitlab-ctl stop
# 停止所有 gitlab postgresql 组件:
gitlab-ctl stop postgresql
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 重启所有 gitlab 组件:
gitlab-ctl restart
# 重启所有 gitlab gitlab-workhorse 组件:
gitlab-ctl restart gitlab-workhorse
# 查看服务状态
gitlab-ctl status
# 生成配置并启动服务
gitlab-ctl reconfigure
运维管理
# 查看版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
# 检查 gitlab
gitlab-rake gitlab:check SANITIZE=true --trace
# 实时查看日志
gitlab-ctl tail
# 数据库关系升级
gitlab-rake db:migrate
# 清理 redis 缓存
gitlab-rake cache:clear
# 升级 GitLab-ce 版本
yum update gitlab-ce
# 升级 PostgreSQL 最新版本
gitlab-ctl pg-upgrade
日志排查
# 实时查看所有日志
gitlab-ctl tail
# 实时检查 redis 的日志
gitlab-ctl tail redis
# 实时检查 postgresql 的日志
gitlab-ctl tail postgresql
# 检查 gitlab-workhorse 的日志
gitlab-ctl tail gitlab-workhorse
# 检查 logrotate 的日志
gitlab-ctl tail logrotate
# 检查 nginx 的日志
gitlab-ctl tail nginx
# 检查 sidekiq 的日志
gitlab-ctl tail sidekiq
# 检查 unicorn 的日志
gitlab-ctl tail unicorn
配置域名
grep -Ev '^#|^$' /etc/gitlab/gitlab.rb
external_url 'https://XX.XXX.XXX.com'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/XX.XX.XXX.com.pem"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/XX.XX.XX.com.key"
重加载
gitlab-ctl reconfigure
再检查nginx的配置
cat /var/opt/gitlab/nginx/conf/gitlab-http.conf
网友评论