종속성 프록시 저장소 용량 줄이기

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

블롭(blobs)에 대한 자동 제거 프로세스가 없습니다. 수동으로 삭제하지 않는 이상, 이러한 파일은 영구히 저장됩니다. 이는 저장소 사용량 할당에 영향을 미치므로 사용되지 않는 항목을 캐시에서 제거하는 것이 중요합니다. 이 페이지에서는 이를 수행할 수 있는 여러 옵션에 대해 다룹니다.

종속성 프록시 저장소 사용량 확인

사용량 할당 페이지 (설정 > 사용량 할당 > 저장소)에는 종속성 프록시를 포함한 패키지의 저장소 사용량이 표시되지만, 저장소는 아직 표시되지 않습니다.

API를 사용하여 캐시 지우기

더 이상 필요하지 않은 이미지 블롭에 의해 사용된 디스크 공간을 회수하려면 Dependnecy Proxy API를 사용하여 전체 캐시를 지웁니다. 캐시를 지우면 다음 파이프라인 실행 시 Docker Hub로부터 이미지 또는 태그를 가져와야 합니다.

정리 정책

  • GitLab 15.0에서 필요한 권한이 변경됨 (Developer에서 Maintainer로).
  • GitLab 17.0에서 필요한 권한이 변경됨 (Maintainer에서 Owner로).

GitLab 내에서 정리 정책 활성화

사용자 인터페이스에서 종속성 프록시의 자동 유효 기간(TTL) 정책을 활성화할 수 있습니다. 이를 위해 당신의 그룹의 설정 > 패키지 및 레지스트리 > 종속성 프록시로 이동하고 90일 후에 캐시에서 항목을 자동으로 지우도록 설정을 활성화하세요.

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

정리 정책은 더 이상 사용되지 않는 캐시된 이미지를 지우고 추가 저장 공간을 확보하는 예약된 작업입니다. 이 정책은 유효 기간(TTL) 논리를 사용합니다.

  • 일 수를 구성합니다.
  • 해당 일 수 동안에 풀하지 않은 모든 캐시된 종속성 프록시 파일이 삭제됩니다.

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

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

GraphQL 쿼리를 작성하는 방법을 알아보려면 GraphQL 시작하기 가이드를 참조하세요.

정책이 최초로 활성화되면 기본 TTL 설정은 90일입니다. 활성화된 후에도 만료된 종속성 프록시 파일은 각 날마다 삭제 대기열에 들어갑니다. 처리 시간 때문에 즉시 삭제되지 않을 수 있습니다. 만약 이미지가 만료된 파일이 표시된 후에 풀리면, 만료된 파일은 무시되고 새 파일이 외부 레지스트리에서 다시 다운로드되어 캐시됩니다.