Gitlab学习笔记(二):备份和升级

备份

Gitlab的备份工具使用的是使用的是Ruby编写的rake,它被封装成了gitlab-rake命令,在最新版本12.8.5中又增加了gitlab-backup命令,主要有两个功能-创建(create)和恢复(restore),无论是备份或恢复,都会存放文件,其路径前缀在/etc/gitlab/gitlab.rb中查找backup_path,我的信息如下,即默认备份路径是/var/opt/gitlab/backups.

# gitlab_rails['manage_backup_path'] = true
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

创建

rake gitlab:backup:create

or

gitlab-rake gitlab:backup:create

or

gitlab-backup create

恢复

恢复比创建稍微麻烦些,因为有多个备份文件的情况下需要指定备份文件名,会自动在backup_path路径下查找文件名对应的.tar文件进行恢复.

rake gitlab:backup:restore [BACKUP=备份文件名]

or

gitlab-rake gitlab:backup:restore [BACKUP=备份文件名]

or

gitlab-backup restore [BACKUP=备份文件名]

升级与回滚

升级

首先备份当前版本,以防升级过程中出现问题可以随时回滚

其次,Gitlab不是所有版本都可以平滑升级,鲁莽地一次性升级将会带来不必要的麻烦.

所以需要关注官方给出的特殊版本,本次预览如下:

如果当前版本比较老,没有展示,可以参考升级建议,找到合适的跳板版本.

比如从12.0.2升级到12.8.X,必须先升级至12.2.0然后再到12.8.X

# 创建备份
gitlab-rake gitlab:backup:create
gitlab-ctl stop 
yum remove gitlab-ce
yum install -y gitlab-ce-12.2.0-ce.0.el7.x86_64

安装完成后,过段时间再检查是否升级成功,因为Gitlab启动时间比较长.

确认升级成功后再次升级至12.8.X

# 创建备份
gitlab-rake gitlab:backup:create
gitlab-ctl stop
yum remove gitlab-ce
yum install -y gitlab-ce-12.8.5-ce.0.el7.x86_64

也可以一次性直接下载好对应的rpm包,然后使用rpm -Uvh一步步升级.

# 创建备份
gitlab-rake gitlab:backup:create
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.2.0-ce.0.el7.x86_64.rpm
rpm -Uvh gitlab-ce-12.2.0-ce.0.el7.x86_64.rpm

##################检查是否升级成功##################

# 创建备份
gitlab-rake gitlab:backup:create
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm
rpm -Uvh gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm

回滚

一般按照官方指导升级不会出问题,但万一升级出现了问题就要考虑回滚,gitlab没有提供rollback命令,因此需要依赖备份文件,将新版本卸载后装回旧版本再恢复备份.

参考

  1. Gitlab使用国内镜像安装、备份及迁移
  2. .repo文件
  3. Gitlab升级手册
  4. 官方文档-特殊升级版本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章