如何设置Gitlab备份到阿里云OSS以及支持S3协议的桶上

2025年5月16日
377 次阅读
exploit

前言

将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.上传完成后,可以到桶中查看

评论区

0 / 500
* 为必填项