Gitlab 备份与恢复操作规程
背景目前公司的代码管理服务器是自建的 Gitlab 服务(公司内网),URL链接 http://git.du.com(192.168.2.8), 同时Bitbucket 上也有一份同步的在线代码备份,为保证代码数据的安全性,需要在公司内部也有一份离线备份,故有以下备份恢复方案。方案做本方案的目的是保证代码数据的安全而备份,同时一旦代码服务器故障能及时迁移恢复。Gitlab 的备份与...
背景
目前公司的代码管理服务器是自建的 Gitlab 服务(公司内网),URL链接 http://git.du.com(192.168.2.8), 同时Bitbucket 上也有一份同步的在线代码备份,为保证代码数据的安全性,需要在公司内部也有一份离线备份,故有以下备份恢复方案。
方案
做本方案的目的是保证代码数据的安全而备份,同时一旦代码服务器故障能及时迁移恢复。
Gitlab 的备份与恢复操作涉及两部分:备份、恢复。
- 备份:从线上 Gitlab 服务器导出备份数据
- 恢复:从备份数据恢复至 Gitlab 服务器
配置:
- OS:CentOS 7.2
- Gitlab 安装包:bitnami-gitlab-8.14.3-0-linux-x64-installer.run
- 安装路径:/opt/gitlab-8.14.3-0/
操作说明
gitlab安装路径为: /opt/gitlab-8.14.3-0/
全程以 root 用户操作。
(1)设定备份目录:
vi /opt/gitlab-8.14.3-0/apps/gitlab/htdocs/config/gitlab.yml
修改下图中红圈的路径(文件备份路径)
(2)手动备份
cd /opt/gitlab-8.14.3-0/
./use_gitlab
cd /opt/gitlab-8.14.3-0/apps/gitlab/htdocs
bundle exec bin/rake gitlab:backup:create RAILS_ENV=production
备份过程如下图:
备份完成后查看备份文件在 /opt/backups_gitlab 中会有类似于 1512991116_gitlab_backup.tar 的文件存在。
2.恢复
在新的服务器上安装相同版本的 Gitlab(bitnami-gitlab-8.14.3-0-linux-x64-installer.run)。
安装路径:/opt/gitlab-8.14.3-0
将备份的数据 1512991116_gitlab_backup.tar 放到 /opt/gitlab-8.14.3-0/apps/gitlab/htdocs/config/gitlab.yml 文件中指定的备份路径,如:/opt/backups_gitlab.
cd /opt/gitlab-8.14.3-0/
./use_gitlab
cd /opt/gitlab-8.14.3-0/apps/gitlab/htdocs
bundle exec bin/rake gitlab:backup:restore RAILS_ENV=production BACKUP=1512991116
chown git:git -R /opt/gitlab-8.14.3-0/apps/gitlab/repositories
说明:
BACKUP=timestamp_of_backup #(required if more than one backup exists):
timestamp_of_backup 是备份文件的前缀数字串,如前面提到的 1512991116_gitlab_backup.tar 中的前缀数字串 1512991116
恢复后的帐号和密码保持原来一样。
更多推荐
所有评论(0)