의존성 프록시 리포지터리 용량 축소

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

블롭에 대한 자동 제거 프로세스가 없습니다. 매뉴얼으로 삭제하지 않는 한, 블롭은 영원히 저장됩니다. 이는 리포지터리 사용량 할당에 영향을 미치므로 사용되지 않는 항목을 캐시에서 지우는 것이 중요합니다. 이 페이지에서는 이를 수행하는 여러 옵션을 다룹니다.

의존성 프록시 리포지터리 사용량 확인

Usage Quotas 페이지(Settings > Usage Quotas > Storage)에서는 패키지의 리포지터리 사용량을 표시합니다. 이에는 의존성 프록시도 포함되지만, 리포지터리는 아직 표시되지 않습니다.

API 사용하여 캐시 지우기

더 이상 필요하지 않은 이미지 블롭이 차지하는 디스크 공간을 회수하려면 의존성 프록시 API를 사용하여 전체 캐시를 지우세요. 캐시를 지우면 다음 파이프라인 실행 시 Docker Hub에서 이미지나 태그를 다시 가져와야 합니다.

정리 정책

GitLab 내에서 정리 정책 활성화

사용자 인터페이스에서 의존성 프록시의 자동 Time-To-Live(TTL) 정책을 활성화할 수 있습니다. 이를 위해 그룹의 Settings > Packages and registries > Dependency Proxy로 이동하여 설정을 활성화하여 캐시에서 90일 후에 항목을 자동으로 지우도록 설정하세요.

GraphQL을 사용하여 정리 정책 활성화

정리 정책은 더 이상 사용되지 않는 캐시된 이미지를 지우는 예약된 작업입니다. 이를 통해 추가 리포지터리 공간을 확보할 수 있습니다. 정책은 Time-To-Live(TTL) 로직을 사용합니다:

  • 일 수를 구성합니다.
  • 해당 일 수 동안 가져오지 않은 모든 캐시된 의존성 프록시 파일이 삭제됩니다.

정리 정책을 활성화하고 구성하기 위해 GraphQL API를 사용하세요:

mutation {
  updateDependencyProxyImageTtlGroupPolicy(input:
    {
      groupPath: "<your-full-group-path>",
      enabled: true,
      ttl: 90
    }
  ) {
    dependencyProxyImageTtlPolicy {
      enabled
      ttl
    }
    errors
  }
}

GraphQL 쿼리를 수행하는 방법을 배우려면 GraphQL 시작하기 가이드를 참조하세요.

정책이 초기에 활성화되면 기본 TTL 설정은 90일입니다. 활성화된 후 퇴화한 의존성 프록시 파일이 매일 삭제 대기열에 들어갑니다. 처리 시간 때문에 즉시 삭제되지 않을 수도 있습니다. 만약 이미지가 캐시 파일이 만료된 상태로 가져오게 되면, 만료된 파일은 무시되고 새 파일이 외부 레지스트리에서 다시 다운로드되어 캐시됩니다.