GitLab-生成公钥私钥、日常维护-备份恢复
生成公钥私钥的方法
- 使用RSA密钥:
ssh-keygen -t rsa -b 4096 -C "email@example.com"
打开cmd,输入命令
- 要测试是否正确添加了SSH密钥,请在终端中运行以下命令(替换`gitlab.com`为GitLab的实例域):
ssh -T git@gitlab.com
Gitlab日常维护:备份、恢复
1. Gitlab备份
使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份
gitlab-rake gitlab:backup:create
排除特定目录
可以通过加环境变量skip来选择要备份的内容。可用的选项有:
db
(数据库)uploads
(附件)repositories
(Git repositories 数据)builds
(CI job output logs)artifacts
(CI job artifacts)lfs
(LFS objects)registry
(Container Registry images)pages
(Pages content)
指定多个选项使用逗号分隔
gitlab-rake gitlab:backup:create SKIP=db, repositories
比如使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1481598919_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分,
其中开头的1481598919是备份创建的日期。
/etc/gitlab/gitlab.rb 配置文件须备份 /var/opt/gitlab/nginx/conf nginx配置文件 /etc/postfix/main.cfpostfix 邮件配置备份
1)1.1Gitlab备份目录
可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
/var/opt/gitlab/backups修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可.
2)Gitlab自动备份
实现每天凌晨2点进行一次自动备份:通过crontab使用备份命令实现
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
2. Gitlab恢复
Gitlab的从备份恢复也非常简单:
1)停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
2)从1481598919编号备份中恢复
# gitlab-rake gitlab:backup:restore BACKUP=1481598919
3)启动Gitlab
# gitlab-ctl start