Gitlab安装升级备份

date
Sep 14, 2021
slug
mnkdcqcq
status
Published
tags
Gitlab
summary
type
Post
 

安装

通过镜像安装

通过镜像安装的好处是,能利用系统自带的软件管理器 yum 来执行软件的安装和升级。同时使用国内镜像,也能提高国内用户软件下载的速度。编辑(新建)文件gitlab-ce.repo
vim /etc/yum.repos.d/gitlab-ce.repo
输入下面内容后保存(更多的地址戳这里),然后保存:
[gitlab-ce]
name=gitlab-ce
# 清华大学的镜像源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
执行安装命令:
yum install gitlab-ce
至此安装完成。

通过 RPM

清华开源镜像点Gitlab 官方,可查看所有可用的 RPM 包,所以可以安装指定的包。以清华站点下载指定的版本:
$ wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/gitlab-ce-14.2.3-ce.0.el8.x86_64.rpm
安装 rpm 包:rpm -i gitlab-ce-14.2.3-ce.0.el8.x86_64.rpm

备份

备份数据

gitlab-rake gitlab:backup:create
备份文件存放于:/var/opt/gitlab/backups
文件名类似于1551348773_2019_02_28_10.0.0_gitlab_backup.tar,其中1551348773_2019_02_28为备份日期,10.0.0为 GitLab 的版本。
备份过程中红色文字提示,表示gitlab.rbgitlab-secrets.json两个文件包含敏感信息,未被备份到备份文件中,需要手动备份。
Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data
and are not includedin this backup. You will need these files to restore a backup.
Please back them up manually.

数据恢复

// gitlab-rake gitlab:backup:restore BACKUP=备份文件编号(编号就是备份文件名前面的数字)
gitlab-rake gitlab:backup:restore BACKUP=1551348773_2019_02_28_10.0.0
新服务器上的 Gitlab 的版本必须与创建备份时的 Gitlab 版本号相同,如新服务器安装的是最新的 10.0.0 版本的 Gitlab,那么迁移之前最好将老服务器的 Gitlab 升级为 10.0.0 再进行备份。

升级

请严格参考官网的升级路线Upgrade paths,升级建议:
  • 当前版本不是升级路线中提到,请先升级到路线中提高的最近版本。
  • 最新的大版本中小版本升级路线,如latest 13.12.Z -> latest 14.0.Z -> 14.1.Z -> latest 14.Y.Z,最严格执行中间号版本的小、大版本,避免升级失败。
下面是升级命令,已 rpm 安装方式为例:
// 停止数据连接服务
$ gitlab-ctl stop unicorn
$ gitlab-ctl stop sidekiq

// 对外停止服务
$ gitlab-ctl stop nginx

// 安装新版本
$ rpm -Uvh gitlab-ce-13.1.11-ce.0.el7.x86_64.rpm

// 重新配置
$ gitlab-ctl reconfigure

// 启动服务
$ gitlab-ctl restart

其他

常用命令

gitlab-ctl stop:关闭GitLab

gitlab-ctl start:启动GitLab

gitlab-ctl restart:重启GitLab

踩坑记录

升级前一定要备份数据!!!
升级前一定要备份数据!!!
升级前一定要备份数据!!!

参考资料:

© 刘德华 2020 - 2023