패키지 삭제 및 복구

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts는 직접 게시했거나 업스트림 원본에서 저장했는지 여부에 관계없이 피드 내에 다양한 패키지 형식을 안전하게 저장합니다. 이전 패키지 버전이 관련성이 낮아지면 수동 삭제 또는 보존 정책을 사용하여 제거할 수 있습니다. 이 문서에서는 다음을 수행하는 방법을 알아봅니다.

  • 피드에서 패키지를 삭제합니다.
  • 보존 정책을 설정합니다.
  • 패키지를 영구적으로 수동으로 삭제합니다.
  • 최근에 삭제된 패키지를 복구합니다.

참고 항목

패키지를 삭제/복구하거나 보존 정책을 설정하려면 피드 소유자여야 합니다.

패키지 삭제

Azure Artifacts에서 패키지는 변경할 수 없습니다. 피드에 패키지를 게시하면 해당 버전 번호가 영구적으로 예약됩니다. 피드에서 삭제하더라도 동일한 버전 번호의 새 패키지를 게시할 수 없습니다.

참고 항목

패키지를 삭제하려면 피드 게시자(참가자)여야 패키지를 목록 해제하고 피드 소유자여야 합니다.

피드에서 NuGet 패키지를 제거하는 데 사용할 수 있는 두 가지 선택 항목인 목록 해제 및 삭제가 있습니다. 패키지 버전을 목록에 추가하지 않으면 Azure Artifacts 피드 및 NuGet.org 검색 결과에서 패키지 버전을 숨기지만 패키지 버전을 삭제하면 휴지통으로 전송되고 설치할 수 없게 됩니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트 및 드롭다운 메뉴에서 피드를 선택합니다.

  3. 삭제할 패키지를 선택한 다음, 목록 해제 또는 삭제를 선택합니다.

    NuGet 패키지를 삭제하거나 목록 해제하는 방법을 보여 주는 스크린샷

NuGet.exe 사용하여 패키지 목록 해제

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트 및 드롭다운 메뉴에서 피드를 선택합니다.

  3. 커넥트 선택하여 NuGet.exe 공급>한 다음 패키지 원본 URL을 찾아 복사합니다. 이 형식 은 "https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json"과 유사해야 합니다.

  4. 다음 명령을 실행하여 NuGet 패키지의 목록을 취소합니다.

    nuget.exe delete <PACKAGE_NAME> <PACKAGE_VERSION> -Source <PACKAGE_SOURCE_URL> -ApiKey <KEY>
    

참고 항목

Azure DevOps 및 Visual Studio Team Foundation Server는 nuget.exe delete 이 명령을 목록에 없는 작업으로 해석합니다. 패키지를 삭제하려면 REST API사용하거나 웹 인터페이스에서 수동으로 삭제해야 합니다.

패키지를 영구적으로 삭제

지통에 배치된 패키지는 30일 후에 영구적으로 삭제되지만 해당 시간 동안 스토리지 비용에 계속 영향을 줍니다. 이 기간 전에 제거하려는 경우 다음 단계에 따라 휴지통에서 수동으로 삭제할 수 있습니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트 및 드롭다운 메뉴에서 피드를 선택합니다.

  3. 오른쪽 위 모서리에서 휴지통을 선택합니다.

    Azure Artifacts에서 휴지통에 액세스하는 방법을 보여 주는 스크린샷

  4. 영구적으로 삭제할 패키지를 선택한 다음 영구 삭제를 선택합니다.

    Azure Artifacts에서 패키지를 영구적으로 삭제하는 방법을 보여 주는 스크린샷

  5. 영구 삭제를 다시 한 번 선택하여 결정을 확인합니다. 패키지가 영구적으로 삭제됩니다.

    패키지를 영구적으로 삭제하기 전에 확인 메시지를 보여 주는 스크린샷

보존 정책을 사용하여 자동으로 패키지 삭제

피드에서 호스트되는 각 패키지의 버전 수는 빠르게 증가할 수 있습니다. 스토리지 공간을 확보하려면 보존 정책을 설정하여 이전 패키지를 자동으로 삭제할 수 있습니다.

패키지를 무기한 보존하려면 패키지를 보기승격할 수 있습니다. 보기로 승격된 패키지는 보존 정책에서 제외되며 삭제되지 않습니다. 피드에 대한 보존 정책을 구성하려면 다음 단계를 수행하세요.

참고 항목

Azure Artifacts는 패키지 강등을 지원하지 않습니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트 선택 후 오른쪽 위 모서리에서 기어 아이콘 기어 아이콘 을 선택하여 피드의 설정에 액세스합니다.

  3. 피드 세부 정보를 선택한 다음 패키지 보존 사용 검사 상자를 검사. 최근에 다운로드한 패키지를 유지하기 위해 패키지 당 최대 버전 수와 일 모두에 대한 값을 제공합니다.

    • 패키지당 최대 버전 수: 유지하려는 각 패키지의 버전 수입니다.

    • 최근에 다운로드한 패키지를 보관할 일: 패키지는 여기에 지정된 지정된 일 수 동안 다운로드되지 않은 경우에만 삭제됩니다.

  4. 완료되면 저장을 선택합니다.

    피드에 대한 보존 정책을 설정하는 방법을 보여 주는 스크린샷

참고 항목

보존 정책을 사용하도록 설정하면 다음 조건이 모두 충족되면 패키지 버전이 삭제됩니다.

  • 게시된 버전 수는 패키지 제한당 최대 버전 수에 도달합니다.
  • 최근에 다운로드한 패키지를 유지하기 위해 일 단위 로 지정된 기간 동안 해당 패키지의 버전을 다운로드하지 않았습니다.

삭제된 패키지 복원

삭제된 패키지는 휴지통에서 30일 동안 다시 기본. 이 기간이 지나면 영구적으로 삭제됩니다. 삭제된 패키지를 복원하려면 피드 소유자 여야 합니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트 및 휴지통을 선택합니다.

  3. 패키지를 선택한 다음 복원을 선택합니다.

    삭제된 패키지를 복원하는 방법을 보여 주는 스크린샷

  4. 복원을 다시 한 번 선택하여 결정을 확인합니다.

Q&A

Q: 패키지 버전 사용 중단, 목록 해제, Yank삭제차이점은 무엇인가요?

A: 사용 중단은 npm 패키지에 적용되며, Unlist는 NuGet 패키지에 적용되는 동안 Yank는 Cargo 패키지에 적용됩니다. 패키지 유형(npm, Maven, Python, Cargo 및 유니버설 패키지)을 삭제할 수도 있습니다.

  • 사용 중단 (npm): 패키지 버전을 더 이상 사용하지 않으면 패키지의 메타데이터에 경고 메시지가 추가됩니다. Azure Artifacts 및 대부분의 npm 클라이언트는 패키지를 보거나 설치할 때마다 이 경고 메시지를 표시합니다.

  • 목록 해제(NuGet): 패키지 버전을 목록 해제하면 Azure Artifacts 피드 및 NuGet.org 검색 결과에서 숨겨지게 됩니다.

  • Yank (Cargo): 패키지 버전을 양킹하면 사용되지 않거나 사용되지 않는 것으로 표시되어 사용이 중단되지만 패키지를 삭제하지는 않습니다.

  • 삭제: 패키지 버전을 삭제하면 설치할 수 없습니다. 삭제된 패키지는 삭제 후 30일 이내에 휴지통에서 복원할 수 있습니다. 이 기간이 지나면 패키지가 영구적으로 삭제됩니다.

Q: 보존 정책을 사용하도록 설정하면 이전 또는 기존 패키지는 어떻게 되나요?

A: 이전 또는 기존 패키지는 일시 삭제되고 휴지통으로 이동됩니다. 삭제 작업은 하루에 한 번 실행되지만 패키지 유입으로 인해 정책이 처음으로 켜진 후 초기 지연이 있을 수 있습니다.

패키지는 영구적으로 삭제되기 전에 30일 동안 휴지통에 남아 있습니다. 청구 가능한 스토리지에서 패키지를 제거하려면 30일이 되기 전에 UI 또는 REST API를 사용하여 패키지를 수동으로 삭제하도록 선택할 수 있습니다.

Q: 아티팩트 삭제 후 청구된 스토리지 양을 업데이트하는 데 얼마나 걸리나요?

A: 일반적으로 스토리지 사용량은 24시간 이내에 업데이트되어야 하지만, 경우에 따라 변경 내용을 반영하는 데 최대 48시간이 걸릴 수 있습니다. 조직의 청구 페이지에서 아티팩트 사용량은 하루에 한 번 업데이트됩니다. 그러나 아티팩트 스토리지 페이지는 더 자주 업데이트되므로 두 페이지에 표시되는 정보가 약간 불일치할 수 있습니다.