gitlab版本升降级

升级顺序:

Upgrading GitLab | GitLab

官网下载地址:

gitlab/gitlab- Packages · packages.gitlab.com

备份所在目录:

/var/opt/gitlab/backups/

特别注意:

13.12.15 -> 14.0.12 有一些字段变化,升级完毕之后需要根据提示执行一些命令才能使用。

升级后会提示执行这6条命令,可以开多个窗口同时执行。

gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,events,id,'[["id"]\, ["id_convert_to_bigint"]]']
gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_builds,id,'[["id"\, "stage_id"]\, ["id_convert_to_bigint"\, "stage_id_convert_to_bigint"]]']
gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_job_artifacts,id,'[["id"\, "job_id"]\, ["id_convert_to_bigint"\, "job_id_convert_to_bigint"]]']
gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_stages,id,'[["id"]\, ["id_convert_to_bigint"]]']
gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_builds_metadata,id,'[["id"]\, ["id_convert_to_bigint"]]']
gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,push_event_payloads,event_id,'[["event_id"]\, ["event_id_convert_to_bigint"]]']

注意事项:

  1. 备份/etc/gitlab目录。
  2. 按照官网顺序升级
  3. 升级的时候gitlab需要是启动的状态
  4. 每次升级完毕之后都执行一下,gitlab-ctl reconfigure ,虽然有的安装完了会自动执行,最后手动再来一次,没坏处。
  5. gitlab-rake db:migrate:status 数据库检查都是up后再进行下一次升级

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION   #查看当前版本号
/opt/gitlab/bin/gitlab-rake gitlab:backup:create #建议升一个版本,备份一次。
cp -r /etc/gitlab /data/backups
gitlab-ctl reconfigure #重新加载配置文件
gitlab-ctl status #确保服务都是启动的
gitlab-rake db:migrate:status #确保数据库目前是没问题的,没有down。
cd /opt/software/ #我下载的包都在这里
yum localinstall gitlab-ce-x.x.x-ce.0.el7.x86_64.rpm #开始升级,最后提示升级成功之后再进行下面的操作,没成功就根据提示排错。
gitlab-ctl reconfigure #重新加载配置文件,升级完版本后会新增一些字段什么的,有一些变化,不重载不会生效
gitlab-ctl status #确保服务都是启动的,如果有没启动的,gitlab-ctl restart重启一下
gitlab-rake db:migrate:status #确保数据库目前是没问题的,没有down,如果有down,先reconfigure,然后再执行“gitlab-rake db:migrate”,等待结束之后再执行:status看看是不是都up了。
 
页面访问测试,如果是502,等待一会,如果是500,等待1分钟,如果还是500,恭喜你,出问题了。
 
 
一次版本没问题之后,开始升级下一个版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION  #确保当前版本是刚升级过来的
gitlab-ctl status #确保服务都是启动的
gitlab-rake db:migrate:status #确保数据库目前是没问题的,没有down。
/opt/gitlab/bin/gitlab-rake gitlab:backup:create #开始备份,虽然耗时间,但是稳妥。
cd /opt/software/
yum localinstall gitlab-ce-x.x.x-ce.0.el7.x86_64.rpm #第二次升级
继续升级的话步骤跟上面的一样,reconfigure, :status。。。。。

降级

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION   #查看当前版本号
wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-x.x.x-ce.0.el7.x86_64.rpm/download.rpm -O gitlab-ce-x.x.x-ee.0.el7.x86_64.rpm #下载降级版本,降级也需要一个一个降
 
gitlab-ctl stop #停止服务,降级可以停服务
yum remove gitlab-ee  #卸载当前版本
yum localinstall gitlab-ce-x.x.x-ee.0.el7.x86_64.rpm #安装降级版本
 
gitlab-ctl reconfigure #重载一下配置
 
gitlab-rake db:migrate:status #检查数据库是否都是up了
 
gitlab-ctl status #检查组件是否都是run,如果不是gitlab-ctl start启动一下
 
 
gitlab-rake gitlab:backup:restore BACKUP=/var/opt/gitlab/backups/xxxxx-ce #通常没问题情况下数据不用动,但是还是说一下恢复备份,xxxx-ce_gitlab_backup.tar,填写_gitlab_backup.tar之前的内容。 恢复的过程中会有交互提示是否删除现有数据,需要谨记,恢复数据的版本和当前版本需要一致。
 


如果恢复失败了,提示删库没权限什么的,
在有备份的情况下,
在有备份的情况下,
在有备份的情况下,参考下面做法:
 
 
cd /vat/opt/gitlab
mv postgresql postgresql.bak  #是mv,不是rm
mkdir postgresql
gitlab-ctl reconfigure
gitlab-rake gitlab:backup:restore BACKUP=/var/opt/gitlab/backups/x.x.x.x-ce

 

你可能感兴趣的:(gitlab,gitlab)