您的当前位置:首页>全部文章>文章详情

GitLab版本更新

发表于:2023-04-28 21:46:07浏览:593次TAG: #git #gitlab

目前在使用gitlab在进行代码管理,gitlab的升级频率还是挺高的,最好是时常更新,要不等以后想更新,但中间跨版本太多,更新会很困难。每次都是四处百度,边查边操作,这次写个博客做个笔记。

我的gitlab是在Centos7中使用rpm进行安装的,所以我更新也是使用rpm安装包直接进行更新。

数据备份

在服务器上备份gitlab数据很简单,执行以下备份命令就可以,备份命令如下:

gitlab-rake gitlab:backup:create

输入命令然后回车,然后开始备份数据,每个仓库备份完后都会显示done,备份后的数据默认放在/var/opt/gitlab/backups,当然,也可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录

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

如果是从低版本一路跟着升级过来的,备份完后可能会有以下提示:

Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data 
and are not included in this backup. You will need these files to restore a backup.
Please back them up manually.

翻译一下就是:

警告:您的gitlab.rb和gitlab-secrets.json文件包含敏感数据,不包含在此备份中。您将需要这些文件来还原备份。请手动备份它们。

gitlab的gitlab.rb存储了gitlab的各种配置,而gitlab-secrets.json文件中存储着各类密钥和token,所以备份数据之后最好在备份下这两个文件,这两个文件在:/etc/gitlab/目录下,常用的几个配置文件和目录在此记录一下:

/etc/gitlab/gitlab.rb           配置文件
/etc/gitlab/gitlab-secrets.json 各类密钥和token存储文件
/var/opt/gitlab/nginx/conf      nginx配置文件所在的目录
/etc/postfix/main.cf            postfix邮件配置文件

备份文件的命名格式是: 时间戳_年_月_日_版本_gitlab_backup.tar

下载rpm安装包

https://packages.gitlab.com/gitlab/gitlab-ce 可以下载最新的gitlab安装包,下载适合自己的安装包。

图片alt

Distro/Version列说明了安装包适合的系统,我用的Centos7,选择el/7的安装包,点击name进入

图片alt

点击右上角的download按钮下载安装包。

升级gitlab

首先,关闭gitlab的部分服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx

然后使用rpm更新指令进行更新

rpm -Uvh gitlab更新包名称.rpm

更新完成后,重新配置gitlab

gitlab-ctl reconfigure

然后就是一大段的配置脚本执行日志,如果关闭gitlab服务的时候使用的是gitlab-ctl stop命令,停止了所有的服务,然后更新完执行重新配置指令,会报错,因为重新配置的时候访问不到相关的服务,这种情况呢,就先执行gitlab启动命令启动服务,再执行重新配置命令。如果重新配置完成且没有异常,则重新启动gitlab

gitlab-ctl restart

到此,gitlab就更新完成了