의존성 프록시 리포지터리 용량 축소
블롭에 대한 자동 제거 프로세스가 없습니다. 매뉴얼으로 삭제하지 않는 한, 블롭은 영원히 저장됩니다. 이는 리포지터리 사용량 할당에 영향을 미치므로 사용되지 않는 항목을 캐시에서 지우는 것이 중요합니다. 이 페이지에서는 이를 수행하는 여러 옵션을 다룹니다.
의존성 프록시 리포지터리 사용량 확인
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일입니다. 활성화된 후 퇴화한 의존성 프록시 파일이 매일 삭제 대기열에 들어갑니다. 처리 시간 때문에 즉시 삭제되지 않을 수도 있습니다. 만약 이미지가 캐시 파일이 만료된 상태로 가져오게 되면, 만료된 파일은 무시되고 새 파일이 외부 레지스트리에서 다시 다운로드되어 캐시됩니다.