패키지 레지스트리 스토리지 줄이기
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
패키지 레지스트리는 시간이 지남에 따라 패키지와 해당 자산을 축적합니다. 패키지 레지스트리 비대화를 줄이고 스토리지를 확보하기 위한 정기적인 정리 전략을 구현해야 합니다. 패키지 레지스트리에 패키지를 게시한 후에는 편집할 수 없습니다.
패키지 레지스트리는 시간이 지남에 따라 패키지와 해당 자산을 축적합니다. 정기적인 정리 없이는:
- 패키지 목록을 가져오는 데 시간이 더 걸려 CI/CD 파이프라인 성능에 영향을 미칩니다.
- 서버가 사용하지 않거나 오래된 패키지에 더 많은 스토리지 공간을 할당합니다.
- 사용자가 수많은 오래된 패키지 버전 중에서 관련 패키지를 찾는 데 어려움을 겪을 수 있습니다.
패키지 레지스트리 비대화를 줄이고 스토리지를 확보하기 위한 정기적인 정리 전략을 구현해야 합니다.
패키지 레지스트리 스토리지 사용 검토#
스토리지 사용 현황을 검토하려면:
- 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 설정 > 사용 할당량을 선택합니다.
- 사용 할당량 페이지에서 패키지의 사용 현황을 검토합니다.
패키지 삭제#
패키지 레지스트리에 패키지를 게시한 후에는 편집할 수 없습니다. 대신 패키지를 삭제하고 다시 게시해야 합니다.
사전 조건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할.
패키지를 삭제하려면:
- 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 왼쪽 사이드바에서 배포 > 패키지 레지스트리를 선택합니다.
- 패키지 레지스트리 페이지에서 삭제할 패키지를 선택합니다.
- 또는 패키지 레지스트리 페이지에서 세로 줄임표(⋮)를 선택하고 패키지 삭제를 선택합니다.
- 패키지 버전 삭제 확인 대화 상자에서 영구 삭제를 선택합니다.
패키지가 영구적으로 삭제됩니다.
패키지를 삭제하려면 API를 사용할 수도 있습니다.
요청 전달이 켜져 있는 동안 패키지를 삭제하면 의존성 혼동 위험이 발생할 수 있습니다.
패키지 자산 삭제#
스토리지를 줄이기 위해 패키지와 관련된 자산을 삭제합니다.
사전 조건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할.
패키지 자산을 삭제하려면:
- 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 왼쪽 사이드바에서 배포 > 패키지 레지스트리를 선택합니다.
- 패키지 레지스트리 페이지에서 추가 세부 정보를 보려면 패키지를 선택합니다.
- 자산 테이블에서 삭제할 자산의 이름을 찾습니다.
- 세로 줄임표(⋮)를 선택하고 자산 삭제를 선택합니다.
패키지 자산이 영구적으로 삭제됩니다.
패키지를 삭제하려면 API를 사용할 수도 있습니다.
정리 정책#
히스토리
- GitLab 15.2에서 도입되었습니다.
패키지 레지스트리에 동일한 이름과 버전의 패키지를 업로드하면 패키지에 더 많은 자산이 추가됩니다.
스토리지 공간을 절약하려면 가장 최근 자산만 유지해야 합니다. 정리 정책을 사용하여 프로젝트의 패키지 자산을 자동으로 삭제하는 규칙을 정의하면 수동으로 삭제할 필요가 없습니다.
정리 정책 활성화#
사전 조건:
- Maintainer 또는 Owner 역할이 있어야 합니다.
기본적으로 패키지 정리 정책은 비활성화됩니다. 활성화하려면:
- 상단 표시줄에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 설정 > 패키지 및 레지스트리를 선택합니다.
- 패키지 레지스트리를 확장합니다.
- 패키지 자산에 사용된 스토리지 관리 아래에서 적절하게 규칙을 설정합니다.
사용 가능한 규칙#
-
보관할 중복 자산 수: 일부 패키지 형식은 동일한 자산의 여러 복사본을 지원합니다. 보관할 중복 자산 수에 제한을 설정할 수 있습니다. 제한에 도달하면 가장 오래된 자산이 자동으로 삭제됩니다. Maven 스냅샷에서 생성된 것과 같은 고유한 파일 이름은 중복 자산으로 계산되지 않습니다. -
보관할 중복 자산 수는 12시간마다 실행됩니다.
리소스 절약을 위한 정리 제한 설정#
백그라운드 프로세스가 패키지 정리 정책을 실행합니다. 이 프로세스는 완료하는 데 오랜 시간이 걸릴 수 있으며 실행되는 동안 서버 리소스를 소비합니다.
다음 설정을 사용하여 정리 작업자 수를 제한합니다:
package_registry_cleanup_policies_worker_capacity: 동시에 실행되는 최대 정리 작업자 수. 이 숫자는0이상이어야 합니다. 낮은 숫자로 시작하여 백그라운드 작업자가 사용하는 리소스를 모니터링한 후 늘리는 것이 좋습니다. 모든 작업자를 제거하고 정리 정책을 실행하지 않으려면 이 설정을0으로 설정합니다. 기본값은2입니다.
