의존성 프록시 스토리지 줄이기

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

블롭에 대한 자동 제거 프로세스는 없습니다. 수동으로 삭제하지 않는 한, 블롭은 무기한 저장됩니다. 이는 당신의
스토리지 사용 쿼타에 영향을 미치므로, 캐시에서 사용하지 않는 항목을 지우는 것이 중요합니다. 이 페이지에서는
그렇게 하는 여러 가지 옵션을 다룹니다.

의존성 프록시 스토리지 사용 확인

Usage Quotas 페이지(Settings > Usage Quotas > Storage)에서는 패키지에 대한 스토리지 사용량을 표시하며, 여기에는 의존성 프록시가 포함되지만 스토리지 사용량은 아직 표시되지 않습니다.

API를 사용하여 캐시 지우기

더 이상 필요하지 않은 이미지 블롭이 사용하는 디스크 공간을 반환하려면,
Dependency Proxy API를 사용하여 전체 캐시를 지우십시오. 캐시를 지우면, 파이프라인이 다음에 실행될 때 Docker Hub에서 이미지를 또는 태그를 끌어와야 합니다.

정리 정책

  • 필수 역할 변경 : GitLab 15.0에서 Developer에서 Maintainer로 변경되었습니다.
  • 필수 역할 변경 : GitLab 17.0에서 Maintainer에서 Owner로 변경되었습니다.

GitLab 내에서 정리 정책 활성화

사용자 인터페이스에서 의존성 프록시에 대한 자동 TTL(시간 제한) 정책을 활성화할 수 있습니다. 이렇게 하려면, 그룹의 Settings > Packages and registries > Dependency Proxy로 이동하여, 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일입니다. 활성화된 후, 오래된 의존성 프록시 파일이 매일 삭제 대기열에 추가됩니다. 처리 시간으로 인해 삭제가 즉시 이루어지지 않을 수 있습니다. 캐시된 파일이 만료로 표시된 후 이미지가 끌어오면, 만료된 파일은 무시되며 외부 레지스트리에서 새 파일이 다운로드되어 캐시됩니다.