目的: A gitlab >>> 全量遷移到 >>> B gitlab
備注:源碼 包括用戶私鑰那些 全都會一模一樣的遷移過去
非常重要 提前設(shè)置備份參數(shù):
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服務(wù)器
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
然后檢查啟動狀態(tài)和logs 沒問題 項目百分百分過去了
常用命令
服務(wù)管理
# 啟動所有 gitlab 組件:
gitlab-ctl start
# 停止所有 gitlab 組件:
gitlab-ctl stop
# 停止所有 gitlab postgresql 組件:
gitlab-ctl stop postgresql
# 停止相關(guān)數(shù)據(jù)連接服務(wù)
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 重啟所有 gitlab 組件:
gitlab-ctl restart
# 重啟所有 gitlab gitlab-workhorse 組件:
gitlab-ctl restart gitlab-workhorse
# 查看服務(wù)狀態(tài)
gitlab-ctl status
# 生成配置并啟動服務(wù)
gitlab-ctl reconfigure
運(yùn)維管理
# 查看版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
# 檢查 gitlab
gitlab-rake gitlab:check SANITIZE=true --trace
# 實(shí)時查看日志
gitlab-ctl tail
# 數(shù)據(jù)庫關(guān)系升級
gitlab-rake db:migrate
# 清理 redis 緩存
gitlab-rake cache:clear
# 升級 GitLab-ce 版本
yum update gitlab-ce
# 升級 PostgreSQL 最新版本
gitlab-ctl pg-upgrade
日志排查
# 實(shí)時查看所有日志
gitlab-ctl tail
# 實(shí)時檢查 redis 的日志
gitlab-ctl tail redis
# 實(shí)時檢查 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