ubuntu16的Gitlab安装/卸载/备份/恢复/迁移

 1. gitlab的安装:

直接参考官网文档:https://about.gitlab.com/downloads/#ubuntu1604

1.1 安装配置依赖环境:

sudo apt-get install curl openssh-server ca-certificates postfix

1.2 安装Gitlab:

可分以下两种情况:直接安装最新版本和选择安装所需版本。

1.2.1 直接安装最新版本:

如果没有版本要求,选择直接安装最新即可。

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

sudo apt-get install gitlab-ce

1.2.2 选择安装所需版本:

在gitlab迁移时,需要保证两个gitlab之间版本一致,故gitlab迁移时最好选择这种方式(虽然还可以选择将原始gitlab升级到最新版本,再将数据备份,然后迁移,但这样风险太大,在升级过程中可能会发生故障,导致数据丢失。所以尽量不要动原始的gitlab,先进行数据备份,然后选择安装一个和旧版本一致gitlab进行安装,再做数据迁移;迁移之后可以再选择升级,即使新gitlab挂掉,还有一个可用的旧gitlab)。

首先查看旧gitlab版本(在gitlab运行状态下)(参考:http://stackoverflow.com/questions/21068773/checking-of-gitlab-version):

sudo gitlab-rake gitlab:env:info

ubuntu16的Gitlab安装/卸载/备份/恢复/迁移

上图中间GitLab information中的版本即为gitlab的版本。

在这里拿gitlab8.11.5版本举例说明:

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce=8.11.5-ce.0

或者

curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce-8.11.5.deb/download
dpkg -i gitlab-ce-8.11.5.deb

1.3 配置启动gitlab:

sudo gitlab-ctl reconfigure

1.4 web登录并配置:

浏览器地址中输入http://[ip地址]。

如有其他问题可参考:http://blog.csdn.net/discoverer100/article/details/51814171

2. gitlab卸载:

# Stop gitlab and remove its supervision process
sudo gitlab-ctl uninstall

# Debian/Ubuntu
sudo dpkg -r gitlab-ce

# Redhat/Centos
# sudo rpm -e gitlab-ce

3. 备份:(参考:https://segmentfault.com/a/1190000002439923

3.1 创建备份:

gitlab-rake gitlab:backup:create

命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份创建的日期.

注:该目录,只能在gitlab停止运行状态下,才可以切换进去。

Gitlab 修改备份文件默认目录

你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:

gitlab_rails['backup_path'] = '/mnt/backups'

/mnt/backups修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可.

4. Gitlab 恢复:

# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# 从1393513186编号备份中恢复
gitlab-rake gitlab:backup:restore BACKUP=1393513186

# 启动Gitlab
sudo gitlab-ctl start

5. Gitlab迁移:

迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即可(如果你没修改过默认备份目录的话)。 然后执行上述恢复命令。

但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份.