업로드 관리
Offering: GitLab Self-Managed
업로드는 단일 파일로 GitLab에 전송될 수 있는 모든 사용자 데이터를 나타냅니다. 댓글이나 설명에 추가된 첨부 파일은 상위 프로젝트 또는 그룹이 삭제될 때만 삭제됩니다. 이것이 기본 구성입니다. 역사적인 이유로 전체 인스턴스에 대한 업로드(예: 파비콘)는 기본 디렉터리에 저장되며, 기본값은 uploads/-/system입니다.
업로드는 단일 파일로 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에서 오브젝트 스토리지 사용하기에 대해 자세히 알아보세요.
오브젝트 스토리지 설정#
이 섹션에서는 스토리지별 구성 형식을 설명합니다. 대신 통합 오브젝트 스토리지 설정을 사용해야 합니다.
자체 컴파일 설치의 경우 다음 설정은 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" # 버킷 이름 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:allRake 작업으로 기존 로컬 업로드를 오브젝트 스토리지로 마이그레이션합니다.
