アップロード管理
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
アップロードは、単一のファイルとしてGitLabに送信される可能性のあるすべてのユーザーデータを表します。たとえば、アバターやノートの添付ファイルはアップロードです。アップロードはGitLabの機能に不可欠であるため、無効にすることはできません。
コメントまたは説明に追加された添付ファイルは、親プロジェクトまたはグループが削除された場合のみ削除されます。添付ファイルは、イシュー、マージリクエスト、エピックなど、アップロードされたコメントまたはリソースが削除されても、ファイルストレージに残ります。
ローカルストレージを使用する
これはデフォルト設定です。アップロードがローカルに保存されている場所を変更するには、インストール方法に基づいて、このセクションの手順に従ってください:
歴史的な理由により、インスタンス全体のアップロード(たとえば、favicon)は、デフォルトでは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を再起動し、変更を有効にします。
オブジェクトストレージを使用する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
GitLabがインストールされているローカルディスクにアップロードを保存したくない場合は、代わりにAWS S3などのオブジェクトストレージプロバイダーを使用できます。この設定は、有効なAWS認証情報がすでに設定されていることを前提としています。
GitLabにおけるオブジェクトストレージの使用の詳細については、こちらをご覧ください。
オブジェクトストレージ設定
このセクションでは、ストレージ固有の設定形式について説明します。代わりに、オブジェクトストレージの統合された設定を使用する必要があります。
セルフコンパイルインストールの場合、次の設定は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を編集し、必要な値に置き換えて、次の行を追加します: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:allRakeタスクを使用して、既存のローカルアップロードをオブジェクトストレージに移行する。
自己コンパイルによるインストールの場合:
デフォルトでは、アップロードは/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:allRakeタスクを使用して、既存のローカルアップロードをオブジェクトストレージに移行する。