上传文件管理
- Tier: 基础版, 专业版, 旗舰版
- Offering: 私有化部署
上传表示可能作为单个文件发送到极狐GitLab 的所有用户数据。例如,头像和备注附件都是上传。上传是极狐GitLab 功能的重要组成部分,因此无法禁用。
使用本地存储
这是默认配置。要更改上传文件在本地存储的位置,请根据您的安装方法使用本节中的步骤:
对于 Linux 软件包安装:
上传文件默认存储在 /var/opt/gitlab/gitlab-rails/uploads。
-
要更改存储路径,例如更改为 /mnt/storage/uploads,请编辑 /etc/gitlab/gitlab.rb 并添加以下行:
rubygitlab_rails['uploads_directory'] = "/mnt/storage/uploads"此设置仅适用于您尚未更改 gitlab_rails['uploads_storage_path'] 目录的情况。
-
保存文件并重新配置极狐GitLab 以使更改生效。
对于自编译安装:
上传文件默认存储在 /home/git/gitlab/public/uploads。
-
要更改存储路径,例如更改为 /mnt/storage/uploads,请编辑 /home/git/gitlab/config/gitlab.yml 并添加或修改以下行:
yamluploads: storage_path: /mnt/storage base_dir: uploads -
保存文件并重启极狐GitLab 以使更改生效。
使用对象存储
- Tier: 基础版, 专业版, 旗舰版
- Offering: 极狐GitLab 私有化部署
如果您不想使用安装极狐GitLab 的本地磁盘来存储上传文件,可以使用 AWS S3 等对象存储提供商。此配置依赖于已配置的有效 AWS 凭证。
对象存储设置
本节描述了存储特定的配置格式。您应该使用合并的对象存储设置。
对于自编译安装,以下设置嵌套在 uploads: 和 object_store: 之下。在 Linux 软件包安装中,它们以 uploads_object_store_ 为前缀。
| 设置 | 描述 | 默认 |
|---|---|---|
| enabled | 启用/禁用对象存储 | false |
| remote_directory | 存储上传文件的桶名称 | |
| proxy_download | 设置为 true 以启用代理所有文件服务。此选项允许减少出口流量,因为这允许客户端直接从远程存储下载而不是代理所有数据 | false |
| connection | 下文描述的各种连接选项 |
连接设置
参见不同提供商的可用连接设置。
对于 Linux 软件包安装:
上传文件默认存储在 /var/opt/gitlab/gitlab-rails/uploads。
-
编辑 /etc/gitlab/gitlab.rb 并添加以下行,替换为您想要的值:
ruby1gitlab_rails['uploads_object_store_enabled'] = true 2gitlab_rails['uploads_object_store_remote_directory'] = "uploads" 3gitlab_rails['uploads_object_store_connection'] = { 4 'provider' => 'AWS', 5 'region' => 'eu-central-1', 6 'aws_access_key_id' => 'AWS_ACCESS_KEY_ID', 7 'aws_secret_access_key' => 'AWS_SECRET_ACCESS_KEY' 8}如果您使用 AWS IAM 配置文件,请确保省略 AWS 访问密钥和密钥/值对。
rubygitlab_rails['uploads_object_store_connection'] = { 'provider' => 'AWS', 'region' => 'eu-central-1', 'use_iam_profile' => true } -
保存文件并重新配置极狐GitLab 以使更改生效。
-
使用 gitlab:uploads:migrate:all Rake 任务 将任何现有的本地上传迁移到对象存储。
对于自编译安装:
上传文件默认存储在 /home/git/gitlab/public/uploads。
-
编辑 /home/git/gitlab/config/gitlab.yml 并添加或修改以下行,确保使用适合您提供商的设置:
yaml1uploads: 2 object_store: 3 enabled: true 4 remote_directory: "uploads" # 桶名称 5 connection: # 此块中的行取决于您的提供商 6 provider: AWS 7 aws_access_key_id: AWS_ACCESS_KEY_ID 8 aws_secret_access_key: AWS_SECRET_ACCESS_KEY 9 region: eu-central-1 -
保存文件并重启极狐GitLab 以使更改生效。
-
使用 gitlab:uploads:migrate:all Rake 任务 将任何现有的本地上传迁移到对象存储。