前言
将GitLab备份文件存储到阿里云OSS(兼容S3协议)或标准S3存储桶,是保障数据安全性和可靠性的重要实践。阿里云OSS作为国内广泛使用的对象存储服务,支持S3协议,能够无缝集成到GitLab的备份流程中。然而,由于阿里云OSS与原生AWS S3在细节配置上的差异(如路径风格、证书校验等),配置过程中需特别注意参数格式和网络连通性。
本文提供一份从零开始的配置指南,涵盖阿里云OSS及通用S3存储桶的详细设置步骤,并针对常见错误(如SSL握手失败、权限问题)给出解决方案,确保备份流程稳定可靠。
配置前准备
- 阿里云oss桶
- 在阿里云上创建一个ram用户
- 给创建好的桶分配这个ram账户
如何配置gitlab.rb
vim /etc/gitlab/gitlab.rb
下面是我自己的配置信息,可以直接照抄
gitlab_rails['backup_upload_connection'] = {
'provider' => 'AWS', #阿里云oss支持s3协议,所以是aws
'path_style': true,
'endpoint': '你的桶链接url,且必须是Bucket 域名',
'region' => 'cn-shanghai', # oss 桶地域
'aws_access_key_id' => 'ramid',
'aws_secret_access_key' => 'ram用户密钥',
}
# # # If IAM profile use is enabled, remove aws_access_key_id and aws_secret_access_key
# 'use_iam_profile' => false
#
gitlab_rails['backup_upload_remote_directory'] = '你的桶名'
# gitlab_rails['backup_multipart_chunk_size'] = 104857600
测试配置
sudo gitlab-ctl reconfigure
测试配置无误后,gitlab正常启动,执行备份命令
sudo gitlab-rake gitlab:backup:create
备份创建完成后,会提示正在上传到s3.上传完成后,可以到桶中查看
评论区