gitlab-之上传管理

上传管理

注意: uploads 表示可以作为单个文件发送到GitLab的所有用户数据。 例如,头像和附注的附件是上传的。 上传是GitLab功能的组成部分,因此无法禁用。

使用本地存储

注意: 这是默认配置

要更改本地存储 uploads 的位置,请按照以下步骤操作。


在Omnibus安装中:

注意: 由于历史原因,uploads 存储在本地目录中,默认情况下为 uploads/-/system 。 强烈建议不要在现有GitLab安装上更改此配置选项。

上传内容默认存储在/var/opt/gitlab/gitlab-rails/uploads/-/system

  1. 要更改存储路径,例如 /mnt/storage/uploads ,编辑 /etc/gitlab/gitlab.rb 并添加以下行:

    gitlab_rails['uploads_storage_path'] = "/mnt/storage/"
    gitlab_rails['uploads_base_dir'] = "uploads"
    
    
  2. 保存文件并重新配置GitLab以使更改生效。

使用对象存储

笔记:

如果您不想使用安装GitLab的本地磁盘来存储uploads,则可以使用AWS S3等对象存储提供程序。 此配置依赖于已配置的有效AWS凭据。

对象存储设置

对于源安装,以下设置嵌套在 uploads: 下的 object_store: 。 在omnibus安装上,它们以前缀为前缀 uploads_object_store_

设置描述默认
enabled启用/禁用对象存储false
remote_directory存储uploads的存储桶名称
direct_upload设置为true以启用uploads的直接uploads,而无需本地共享存储。 一旦我们决定仅为所有文件支持单个存储,则可以删除选项。false
background_upload设置为false以禁用自动uploads。 一旦上传直接到S3,可以删除选项true
proxy_download设置为true以启用代理服务的所有文件。 选项允许减少出口流量,因为这允许客户端直接从远程存储下载而不是代理所有数据false
connection各种连接选项如下所述
S3兼容连接设置

连接设置与 Fog 提供的设置相匹配 ,如下所示:

设置描述默认
provider始终 AWS 用于兼容的主机AWS
aws_access_key_idAWS凭证或兼容
aws_secret_access_keyAWS凭证或兼容
aws_signature_version要使用的AWS签名版本。 2或4是有效选项。 数字海洋空间和其他提供商可能需要2。4
regionAWS区域美国 - 东 - 1
hostS3兼容主机,用于不使用AWS时,例如 localhoststorage.example.coms3.amazonaws.com
endpoint通过输入诸如的URL, 可以在配置诸如 Minio 的S3兼容服务时使用 http://127.0.0.1:9000(可选的)
path_style设置为true以使用 host/bucket_name/object 样式路径而不是 bucket_name.host/object 。 对AWS S3保留为false
use_iam_profile设置为true以使用IAM配置文件而不是访问密钥

在Omnibus安装中:

上传内容默认存储在 /var/opt/gitlab/gitlab-rails/public/uploads/-/system

  1. 通过替换/etc/gitlab/gitlab.rb 中所需的值来 编辑 和添加以下行:

    gitlab_rails['uploads_object_store_enabled'] = true
    gitlab_rails['uploads_object_store_remote_directory'] = "uploads"
    gitlab_rails['uploads_object_store_connection'] = {
      'provider' => 'AWS',
      'region' => 'eu-central-1',
      'aws_access_key_id' => 'AWS_ACCESS_KEY_ID',
      'aws_secret_access_key' => 'AWS_SECRET_ACCESS_KEY'
    }
    
    

    注意: 如果您使用的是AWS IAM配置文件,请确保省略AWS访问密钥和秘密访问密钥/值对。

    gitlab_rails['uploads_object_store_connection'] = {
      'provider' => 'AWS',
      'region' => 'eu-central-1',
      'use_iam_profile' => true
    }
    
    
  2. 保存文件并 重新配置GitLab 以使更改生效。

  3. 将任何现有本地uploads迁移到对象存储:

    注意: 这些任务符合 BATCH 环境变量以批量处理uploads(默认情况下为200)。 所有处理都将在后台工作中完成, 无需停机

    # gitlab-rake gitlab:uploads:migrate[uploader_class, model_class, mount_point]
    
    # Avatars
    gitlab-rake "gitlab:uploads:migrate[AvatarUploader, Project, :avatar]"
    gitlab-rake "gitlab:uploads:migrate[AvatarUploader, Group, :avatar]"
    gitlab-rake "gitlab:uploads:migrate[AvatarUploader, User, :avatar]"
    
    # Attachments
    gitlab-rake "gitlab:uploads:migrate[AttachmentUploader, Note, :attachment]"
    gitlab-rake "gitlab:uploads:migrate[AttachmentUploader, Appearance, :logo]"
    gitlab-rake "gitlab:uploads:migrate[AttachmentUploader, Appearance, :header_logo]"
    
    # Markdown
    gitlab-rake "gitlab:uploads:migrate[FileUploader, Project]"
    gitlab-rake "gitlab:uploads:migrate[PersonalFileUploader, Snippet]"
    gitlab-rake "gitlab:uploads:migrate[NamespaceFileUploader, Snippet]"
    gitlab-rake "gitlab:uploads:migrate[FileUploader, MergeRequest]"
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值