gitlab的迁移备份和升级
目录
文档
升级记录:
gitlab现版本8.5.8
gitlab目的版本 11.
注意!
gitlab不能跨版本升级 8.5.8 -> 9.5.0 -> 10.8.0 —>11.2.1
注意:新版本gitlab需要内存空间至少4G
升级步骤梳理
- 更改配置文件,改变备份目录到数据盘
- 备份gitlab
- 重置root密码 内存升级 关机重启
- 升级apt-get源
- 依次升级
- 更新配置文件
环境信息
root@git:~# cat /etc/issue
Ubuntu 14.04.1 LTS
l
线上gitlab升级记录
一 备份过程
1. 更改备份目录
# rsync同步 保证目录权限
rsync -av /var/opt/gitlab/backups /data/git/backups
# 配置文件中添加如下配置 覆盖默认配置
vim /etc/gitlab/gitlab.rb
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_path'] = "/data/git/backups"
2. 重载配置文件
gitlab-ctl reconfigure
3. 执行备份
gitlab-rake gitlab:backup:create STRATEGY=copy
确认在指定备份目录中生成数据
4. 停止服务,快照备份
gitlab-ctl stop
二 升级过程
本次升级需要从8.5.8升级到11.2.1 gitlab不支持跨版本升级 需要依次更新
1. 关机升级内存
gitlab 11.2.1版本需要至少4G运行内存,目前线上是2核4G,需要升级。
在关机前 重置root密码
2. 开机升级
# 更新源
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
# 依次升级
sudo apt-get install gitlab-ce=9.5.0-ce.0
sudo apt-get install gitlab-ce=10.8.0-ce.0
sudo apt-get install gitlab-ce
3. 新版git配置文件更新
在新版gitlab中,配置文件指定git_data_dir的写法有变更,需要手动更新
原写法:
git_data_dir /data/git
新语法:
git_data_dirs({
"default" => {
"path" => "/data/git"
}
})
4. 重载配置文件
gitlab-ctl reconfigure
5. 验证服务
测试正常
异常过程记录
1. 下载安装报错
报错:dpkg: error processing archive /var/cache/apt/archives/gitlab-ce_11.2.1-ce.0_amd64.deb (--unpack):
解决:
apt-get install libc-dev-bin
2. 首页报错500
原因分析:
- ubuntu14.04版本应该是 trusty 版本,而下载的gitlab软件包却是 xenial版本的
- 内存不足引起
** 解决版本问题:**
下载trusty版本的 gitlab 进行安装
** 查看ubuntu版本的方法:**
root@kickseed:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
3. gitlab-ctl reconfigure 报错
报错信息
Removals:
* git_data_dir has been deprecated since 8.10 and was removed in 11.0. Use git_data_dirs instead.
解决方式
config配置文件 /etc/gitlab/gitlab.rb 更新:
git_data_dirs({
"default" => {
"path" => "/data/git"
}
})