패키지 레지스트리 저장 공간 축소

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

정리하지 않으면 패키지 레지스트리는 시간이 지남에 따라 커집니다. 많은 수의 패키지와 해당 에셋이 추가되면:

불필요한 패키지와 에셋을 삭제하는 것을 권장합니다. 본 페이지에서는 이를 수행하는 예제를 제공합니다.

패키지 레지스트리 저장소 사용 확인

사용량 할당량 페이지 (설정 > 사용량 할당량 > 저장 공간)에서 패키지에 대한 저장 공간 사용량을 표시합니다.

패키지 삭제

패키지 레지스트리에서 패키지를 발행한 후에는 패키지를 수정할 수 없습니다. 대신 삭제하고 다시 만들어야 합니다.

패키지를 삭제하려면 적절한 권한이 있어야 합니다.

API를 사용하거나 UI를 이용하여 패키지를 삭제할 수 있습니다.

UI에서 패키지를 삭제하려면 그룹이나 프로젝트에서 다음을 수행하세요:

  1. 배포 > 패키지 레지스트리로 이동합니다.
  2. 삭제하려는 패키지의 이름을 찾습니다.
  3. 삭제를 선택합니다.

패키지가 영구적으로 삭제됩니다.

요청 전달이 활성화되어 있으면 패키지를 삭제하면 의존성 혼동 리스크가 발생할 수 있습니다.

패키지와 관련된 에셋 삭제

패키지 에셋을 삭제하려면 적절한 권한이 있어야 합니다.

API를 사용하거나 UI를 이용하여 패키지 에셋을 삭제할 수 있습니다.

UI에서 패키지 에셋을 삭제하려면 그룹이나 프로젝트에서 다음을 수행하세요:

  1. 배포 > 패키지 레지스트리로 이동합니다.
  2. 삭제하려는 패키지의 이름을 찾습니다.
  3. 패키지를 선택하여 추가 세부 정보를 보기 위해 확장합니다.
  4. 삭제하려는 에셋의 이름을 찾습니다.
  5. ellipsis를 확장하고 에셋 삭제를 선택합니다.

패키지 에셋이 영구적으로 삭제됩니다.

정리 정책

삭제할 패키지의 수에 따라 패키지를 수동으로 삭제하는 프로세스에는 긴 시간이 소요될 수 있습니다. 정리 정책은 프로젝트에 적용되는 일련의 규칙을 정의하여 자동으로 삭제할 수 있는 패키지 에셋을 정의합니다.

정리 정책 활성화

기본적으로 패키지 정리 정책은 비활성화되어 있습니다. 활성화하려면:

  1. 프로젝트의 설정 > 패키지 및 레지스트리로 이동합니다.
  2. 패키지 에셋이 사용하는 저장 공간 관리를 확장합니다.
  3. 규칙을 적절히 설정합니다.

참고: 이러한 프로젝트 설정에 접근하려면 해당 프로젝트의 유지자일 필요가 있습니다.

사용 가능한 규칙

  • 유지할 중복 에셋 수: 유지할 중복 에셋 수. 일부 패키지 형식을 통해 에셋의 복사본을 여러 개 업로드할 수 있습니다. 중복된 에셋 수를 제한하고 제한이 도달되면 가장 오래된 에셋을 자동으로 삭제할 수 있습니다. Maven 스냅샷에서 생성된 것과 같이 고유한 파일명은 중복된 에셋 수를 평가할 때 고려되지 않습니다.

    유지할 중복 에셋 수에는 고정된 주기가 12시간가 있습니다.

리소스 절약을 위한 정리 제한 설정

백그라운드 프로세스가 패키지 정리 정책을 실행합니다. 이 프로세스는 오래 걸릴 수 있으며 실행되는 동안 서버 리소스를 소비합니다.

다음 설정을 사용하여 정리 작업자의 수를 제한할 수 있습니다:

  • package_registry_cleanup_policies_worker_capacity: 동시에 실행되는 최대 정리 작업자 수. 이 숫자는 0보다 크거나 같아야 합니다. 리소스 사용을 모니터링한 후 이 숫자를 저렇게 설정하고, 이후에 증가하는 것을 권장합니다. 모든 작업자를 제거하고 정리 정책을 실행하지 않으려면 이 값을 0으로 설정합니다. 기본값은 2입니다.