アップロード管理
アップロードとは、GitLabに単一のファイルとして送信できるすべてのユーザーデータを表します。例えば、アバターやノートの添付ファイルはアップロードです。アップロードはGitLabの機能に不可欠なものなので、無効にすることはできません。
ローカルストレージの使用
これはデフォルトの設定です。アップロードがローカルに保存される場所を変更するには、インストール方法に基づいてこのセクションの手順を使用します:
uploads/-/system
。既存の GitLab インストールでベースディレクトリを変更することは強く推奨されません。Linuxパッケージ・インストールの場合:
アップロードはデフォルトで/var/opt/gitlab/gitlab-rails/uploads
に保存されます。
-
保存パスを変更するには、例えば
/mnt/storage/uploads
、/etc/gitlab/gitlab.rb
を編集し、以下の行を追加します:gitlab_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
を編集し、以下の行を追加または修正してください:uploads: storage_path: /mnt/storage base_dir: uploads
-
ファイルを保存してGitLab を再起動すると、変更が有効になります。
オブジェクトストレージを使う
GitLabがインストールされているローカルディスクをアップロードの保存に使いたくない場合は、代わりにAWS S3のようなオブジェクトストレージプロバイダを使うことができます。この設定は、有効な AWS 認証情報がすでに設定されていることに依存します。
GitLab でのオブジェクトストレージの使用について、詳しくはこちらをご覧ください。
オブジェクトストレージの設定
GitLab 13.2以降では、統合オブジェクトストレージ設定を使用する必要があります。このセクションでは、以前の設定フォーマットについて説明します。
セルフコンパイル・インストールでは、以下の設定はuploads:
の下にネストされ、次にobject_store:
となります。Linux パッケージのインストールでは、これらの設定の先頭にuploads_object_store_
が付きます。
設定 | 説明 | デフォルト |
---|---|---|
enabled | オブジェクトストレージの有効化/無効化 | false |
remote_directory | アップロードを保存するバケット名 | |
proxy_download |
true に設定すると、すべてのファイルのプロキシが有効になります。このオプションにより、クライアントがすべてのデータをプロキシする代わりにリモートストレージから直接ダウンロードできるようになるため、egress トラフィックを減らすことができます。 | false |
connection | 以下に説明するさまざまな接続オプション |
接続設定
各プロバイダーで利用可能な接続設定を参照してください。
Linuxパッケージ・インストールの場合:
アップロードはデフォルトで/var/opt/gitlab/gitlab-rails/uploads
に保存されます。
-
/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 }
- ファイルを保存し、変更を有効にするためにGitLab を再設定してください。
-
gitlab:uploads:migrate:all
Rake タスクを使って、既存のローカルアップロードをオブジェクトストレージにマイグレーションします。
セルフコンパイルによるインストールの場合:
アップロードはデフォルトで/home/git/gitlab/public/uploads
に保存されます。
-
/home/git/gitlab/config/gitlab.yml
を編集し、以下の行を追加または修正してください:uploads: object_store: enabled: true remote_directory: "uploads" # The bucket name connection: # The lines in this block depend on your provider provider: AWS aws_access_key_id: AWS_ACCESS_KEY_ID aws_secret_access_key: AWS_SECRET_ACCESS_KEY region: eu-central-1
- ファイルを保存してGitLab を再起動すると、変更が有効になります。
-
gitlab:uploads:migrate:all
Rake タスクを使って、既存のローカルアップロードをオブジェクトストレージにマイグレーションします。