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安装包,下载适合自己的安装包。
Distro/Version列说明了安装包适合的系统,我用的Centos7,选择el/7的安装包,点击name进入
点击右上角的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就更新完成了