一、确认gitlab版本
由于gitlab备份包的恢复需要使用相同版本的gitlab,所以要使用同一版本的gitlab来恢复导入gitlab数据。
首先确认原git服务器部署的gitlab版本
使用该命令查看安装的gitlab软件版本
确认安装版本为gitlab-ce_9.2.6-ce.0
二、新服务器安装对应版本gitlab
在新服务器上安装gitlab-ce_9.2.6-ce.0
指定版本的gitlab可在https://packages.gitlab.com/gitlab网站寻找
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/trusty/gitlab-ce_9.2.6-ce.0_amd64.deb/download.deb
使用以下命令下载9.2.6版本的gitlab
链接:https://pan.baidu.com/s/1td_frvD5f_AHHzYumZ8uLg
提取码:5kjl
下载完成后安装gitlab所需依赖包
sudo apt-get install curl openssh-server ca-certificates postfix
安装完成后使用dpkg命令安装下载的gitlab安装包
sudo dpkg --install gitlab-ce_9.2.6-ce.0_amd64.deb
gitlab安装完成。
初始化gitlab
sudo gitlab-ctl reconfigure
打开 sshd 和 postfix 服务
service sshd start
service postfix start
确认gitlab是否正确运行
若得到类似以下输出,则说明正常
sudo gitlab-ctl status
三、进行恢复导入原服务器备份的数据
首先把要恢复导入的备份数据包拷贝到新服务器/var/opt/gitlab/backups/
路径下
sudo cp 1531688632_2018_07_16_9.2.6_gitlab_backup.tar /var/opt/gitlab/backups/
关闭相应的gitlab服务
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
导入备份数据
sudo gitlab-rake gitlab:backup:restore BACKUP=1531688632_2018_07_16_9.2.6
BACKUP=后边跟数据压缩包的时间前戳
例如压缩包名称为1531688632_2018_07_16_9.2.6_gitlab_backup.tar
则BACKUP=
后边就跟上1531688632_2018_07_16_9.2.6
然后执行过程中根据提示输入yes继续进行,等待导入完成。
导入完成后启动gitlab服务
sudo gitlab-ctl start
导入的数据生效
sudo gitlab-rake gitlab:check SANITIZE=tru
这样就可以访问服务器IP来访问gitlab网页了。
四、gitlab服务备份,定时备份、只保留7天备份的配置
1、执行gitlab数据备份
默认备份文件储存在 /var/opt/gitlab/backups/140623891_gitlab_backup.tar
sudo gitlab-rake gitlab:backup:create
2、配置定时备份任务,需要重启cron服务
sudo crontab -e
打开定时任务配置文件,追加写入以下内容
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
3、设置只保存7天的备份
编辑 /etc/gitlab/gitlab.rb
配置文件,找到如下代码,删除注释 # 保存
gitlab_rails['backup_keep_time'] = 604800
重新加载gitlab配置文件
sudo gitlab-ctl reconfigure
五、原服务器计划任务以及备份文件重命名移动到指定位置,以及默认存储时间
0 5 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create >> /var/opt/gitlab/backups/backup.log 2>&1 && mv /var/opt/gitlab/backups/* /root/ssd_disk/github_backups/
0 6 * * * /usr/bin/find /root/ssd_disk/github_backups/ -type f -mtime +5 -exec rm -rf {} \;
0 1 * * * /usr/bin/find /home/wiki/opt/atlassian-data/confluence/backups/ -type f -mtime +7 -exec rm -rf {} \;
0 1 * * * /usr/bin/find /home/jira/data/export/ -type f -mtime +7 -exec rm -rf {} \;
配置记录
后两行为wiki和jira的备份存储时间配置
六、gitlab源
添加官方源
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
添加国内源(清华源参考网页https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
)
Debian/Ubuntu 用户
首先信任 GitLab 的 GPG 公钥:
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
再选择你的 Debian/Ubuntu 版本,文本框中内容写进 /etc/apt/sources.list.d/gitlab-ce.list
你的Debian/Ubuntu版本(ubuntu根据版本一换版本代号):
#ubuntu14.04
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu trusty main
#ubuntu 16.04
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
#ubuntu 18.04
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu bionic main
#ubuntu 20.04
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main
安装包下载链接(替换版本号即可)
https://packages.gitlab.com/gitlab/gitlab-ce
(安装包网站)
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_14.0.7-ce.0_amd64.deb/download.deb