업로드 관리
Tier: Free, Premium, Ultimate
Offering: Self-Managed
업로드는 사용자 데이터 중 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을 다시 시작하세요.
객체 리포지터리 사용
Tier: Free, Premium, Ultimate
Offering: 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:all
Rake 작업을 실행하세요.
자체 컴파일 설치의 경우:
업로드는 기본적으로 /home/git/gitlab/public/uploads
에 저장됩니다.
-
원하는 공급 업체에 맞는 줄을 사용하여
/home/git/gitlab/config/gitlab.yml
를 수정하고 다음 줄을 추가 또는 수정하세요:uploads: object_store: enabled: true remote_directory: "uploads" # 버킷 이름 connection: # 이 블록의 내용은 공급 업체에 따라 다름 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 작업을 실행하세요.