安装社区版
查看GitLab官方安装文档,得到如下内容:
1 | sudo yum install -y curl policycoreutils-python openssh-server |
1 | sudo yum install postfix |
1 | curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash |
1 | sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ce |
目录
1 | 主目录:/opt/gitlab |
常用命令
1 | #启动状态 |
备份准备
两台服务器gitlab版本必须一致,本例均为12.7.8
Gitlab创建备份
1 | [root@localhost]# gitlab-rake gitlab:backup:create |
需手动备份的文件:
Ø /etc/gitlab/gitlab.rb 配置文件须备份
Ø /var/opt/gitlab/nginx/conf nginx 配置文件
Ø /etc/postfix/main.cfpostfix 邮件配置备份
Ø /etc/gitlab/gitlab-secrets.json 存储了gitlab的db secret信息
如果想修改备份路径,可在/etc/gitlab/gitlab.rb文件下编辑:
1 | gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" |
定时备份
计划每天凌晨2点进行备份
1 | 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1 |
备份文件恢复
修改文件权限
1 | chmod 777 1629196316_2021_08_17_12.7.8_gitlab_backup.tar |
关闭相关服务
1 | gitlab-ctl stop unicorn |
执行恢复
gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
1 | gitlab-rake gitlab:backup:restore BACKUP=1629196316_2021_08_17_12.7.8 |
注意:
l 此处命令是文件编号,不是文件名称
l 交互界面会有两次让输入“yes”
开启服务
以下几个文件需手动恢复:
Ø /etc/gitlab/gitlab.rb 配置文件
Ø /var/opt/gitlab/nginx/conf nginx配置文件
Ø /etc/postfix/main.cfpostfix 邮件配置备份
Ø /etc/gitlab/gitlab-secrets.json 存储了gitlab的db secret信息
1 | gitlab-ctl start |
安装问题
gitlab-ctl reconfigure 出现 No such file or directory
1 | /opt/gitlab/embedded/bin/gitlab-logrotate-wrapper: No such file or directory |
可以从其他机器拷贝一份,也可以通过来回修改unicorn
端口号自动生成文件
恢复出现Backup::Error: Backup failed
1 | 2021-08-19 08:13:31 +0800 -- Restoring uploads ... |