Udostępnij za pośrednictwem


Usuwanie i odzyskiwanie pakietów

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Usługa Azure Artifacts bezpiecznie przechowuje różne typy pakietów w kanale informacyjnym, niezależnie od tego, czy zostały one opublikowane bezpośrednio, czy zapisane ze źródeł nadrzędnych. Ponieważ starsze wersje pakietów stają się mniej istotne, możesz rozważyć ich usunięcie ręcznie lub przy użyciu zasad przechowywania. Ten artykuł obejmuje następujące zagadnienia:

  • Usuń pakiety ze źródła danych.
  • Konfigurowanie zasad przechowywania.
  • Ręczne usuwanie pakietów trwale.
  • Odzyskiwanie ostatnio usuniętych pakietów.

Uwaga

Aby usunąć/odzyskać pakiety lub skonfigurować zasady przechowywania, musisz być właścicielem kanału informacyjnego.

Usuwanie pakietów

W usłudze Azure Artifacts pakiety są niezmienne. Po opublikowaniu pakietu w kanale informacyjnym jego numer wersji jest trwale zarezerwowany. Nawet jeśli usuniesz go z kanału informacyjnego, nie można opublikować nowego pakietu z tym samym numerem wersji.

Uwaga

Aby usunąć pakiet i właściciel kanału informacyjnego, musisz być wydawcą kanału informacyjnego (współautorem).

Dostępne są dwie opcje usuwania pakietu NuGet z kanału informacyjnego, Usuń listę i Usuń. Usunięcie wersji pakietu powoduje ukrycie jej w wynikach wyszukiwania w kanałach informacyjnych usługi Azure Artifacts i na NuGet.org, podczas usuwania wersji pakietu wysyła ją do kosza i sprawia, że jest niedostępna do instalacji.

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz źródło danych z menu rozwijanego.

  3. Wybierz pakiet, który chcesz usunąć, a następnie wybierz pozycję Usuń lub Usuń.

    Zrzut ekranu przedstawiający sposób usuwania lub usuwania pakietu NuGet.

Odlistuj pakiety przy użyciu NuGet.exe

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz źródło danych z menu rozwijanego.

  3. Wybierz Połączenie, aby podawać>NuGet.exe, a następnie znajdź i skopiuj adres URL źródła pakietu. Powinien on wyglądać podobnie do następującego formatu: "https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json".

  4. Uruchom następujące polecenie, aby usunąć listę pakietu NuGet:

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

Uwaga

Usługi Azure DevOps i Visual Studio Team Foundation Server interpretują nuget.exe delete polecenie jako operację cofania listy. Aby usunąć pakiet, należy użyć interfejsu API REST lub usunąć go ręcznie z interfejsu internetowego.

Trwałe usuwanie pakietów

Pakiety umieszczone w Koszu są trwale usuwane po upływie 30 dni, ale nadal przyczyniają się do kosztów magazynowania w tym czasie. Jeśli chcesz je usunąć przed tym okresem, możesz je ręcznie usunąć z Kosza, wykonując następujące kroki:

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz źródło danych z menu rozwijanego.

  3. Wybierz pozycję Kosz w prawym górnym rogu.

    Zrzut ekranu przedstawiający sposób uzyskiwania dostępu do kosza w usłudze Azure Artifacts.

  4. Wybierz pakiet, który chcesz trwale usunąć, a następnie wybierz pozycję Trwałe usuwanie.

    Zrzut ekranu przedstawiający sposób trwałego usuwania pakietu w usłudze Azure Artifacts.

  5. Wybierz pozycję Trwale Usuń jeszcze raz, aby potwierdzić swoją decyzję. Pakiet zostanie trwale usunięty.

    Zrzut ekranu przedstawiający komunikat potwierdzający przed trwałym usunięciem pakietu.

Automatyczne usuwanie pakietów przy użyciu zasad przechowywania

Liczba wersji dla każdego pakietu hostowanego w kanale informacyjnym może szybko wzrosnąć. Aby zwolnić miejsce do magazynowania, możesz skonfigurować zasady przechowywania, aby automatycznie usuwać stare pakiety.

Jeśli chcesz zachować pakiet na czas nieokreślony, możesz podwyższyć jego poziom do widoku. Pakiety promowane do widoku są wykluczone z zasad przechowywania i nie będą podlegać usunięciu. Aby skonfigurować zasady przechowywania kanału informacyjnego, wykonaj poniższe kroki:

Uwaga

Usługa Azure Artifacts nie obsługuje degradacji pakietów.

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz ikonę ikona koła zębatego koła zębatego w prawym górnym rogu, aby uzyskać dostęp do ustawień kanału informacyjnego.

  3. Wybierz pozycję Szczegóły kanału informacyjnego , a następnie zaznacz pole wyboru Włącz przechowywanie pakietów. Podaj wartości dla maksymalnej liczby wersji na pakiet i Dni, aby zachować ostatnio pobrane pakiety.

    • Maksymalna liczba wersji na pakiet: liczba wersji dla każdego pakietu, który chcesz zachować.

    • Dni przechowywania ostatnio pobranych pakietów: pakiety zostaną usunięte tylko wtedy, gdy nie zostały pobrane przez określoną liczbę dni określonych tutaj.

  4. Wybierz Zapisz, gdy skończysz.

    Zrzut ekranu przedstawiający sposób konfigurowania zasad przechowywania dla kanału informacyjnego.

Uwaga

Po włączeniu zasad przechowywania wersja pakietu zostanie usunięta po spełnieniu obu następujących warunków:

  • Liczba opublikowanych wersji osiąga maksymalną liczbę wersji na limit pakietów .
  • Wersja tego pakietu nie została pobrana przez okres określony w dniach, aby zachować ostatnio pobrane pakiety.

Przywracanie usuniętych pakietów

Usunięte pakiety pozostają w Koszu przez 30 dni. Po upływie tego okresu zostaną one trwale usunięte. Aby przywrócić usunięte pakiety, musisz być właścicielem kanału informacyjnego.

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz pozycję Kosz.

  3. Wybierz pakiet, a następnie wybierz pozycję Przywróć.

    Zrzut ekranu przedstawiający sposób przywracania usuniętych pakietów.

  4. Wybierz pozycję Przywróć jeszcze raz, aby potwierdzić swoją decyzję.

Q&A

Pyt.: Jaka jest różnica między przestarzałym, cofnij listę, yank i usuń wersję pakietu?

1: Przestarzałe dotyczy pakietów npm, Yank stosuje się do pakietów Cargo, podczas gdy unlista dotyczy pakietów NuGet. Możesz również usunąć dowolne typy pakietów (npm, Maven, Python, Cargo i Universal Packages):

  • Przestarzałe (npm): po wycofaniu wersji pakietu do metadanych pakietu zostanie dodany komunikat ostrzegawczy. Usługa Azure Artifacts i większość klientów npm wyświetla ten komunikat ostrzegawczy za każdym razem, gdy pakiet zostanie wyświetlony lub zainstalowany.

  • Usuń listę (NuGet): Anulowanie listy wersji pakietu powoduje ukrycie jej w wynikach wyszukiwania w kanałach informacyjnych usługi Azure Artifacts i na NuGet.org.

  • Yank (Cargo): Yanking wersja pakietu oznacza ją jako przestarzałą lub przestarzałą, zniechęcając jej do użycia, ale nie usuwa pakietu.

  • Usuń: usunięcie wersji pakietu sprawia, że instalacja jest niedostępna. Usunięte pakiety można przywrócić z Kosza w ciągu 30 dni od usunięcia. Po upływie tego okresu pakiety zostaną trwale usunięte.

Pyt.: Co się dzieje ze starymi lub istniejącymi pakietami, gdy włączymy zasady przechowywania?

1: Stare lub istniejące pakiety zostaną usunięte nietrwale i przeniesione do Kosza. Zadanie usuwania jest uruchamiane raz dziennie, ale może wystąpić początkowe opóźnienie po pierwszym włączeniu zasad z powodu napływu pakietów.

Pakiety pozostają w Koszu przez 30 dni, zanim zostaną trwale usunięte. Aby usunąć pakiety z magazynu podlegającego rozliczaniu, możesz usunąć je ręcznie za pomocą interfejsu użytkownika lub interfejsu API REST przed upływem 30 dni.

Pyt.: Jak długo trwa aktualizowanie rozliczanej kwoty magazynu po usunięciu artefaktów?

1: Zazwyczaj użycie magazynu powinno zostać zaktualizowane w ciągu 24 godzin, chociaż w niektórych przypadkach może upłynąć do 48 godzin, aż zmiany zostaną odzwierciedlone. Użycie artefaktów na stronie rozliczeń organizacji jest aktualizowane raz dziennie. Jednak strona Magazynu artefaktów jest aktualizowana częściej, co może prowadzić do drobnej rozbieżności między informacjami wyświetlanymi na dwóch stronach.