Löschen und Wiederherstellen von Paketen
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Azure Artifacts speichert verschiedene Pakettypen sicher in Ihrem Feed, unabhängig davon, ob Sie sie direkt veröffentlicht oder aus upstream-Quellen gespeichert haben. Da ältere Paketversionen weniger relevant werden, können Sie sie durch manuelles Löschen oder mithilfe von Aufbewahrungsrichtlinien entfernen. In diesem Artikel lernen Sie Folgendes:
- Löschen Sie Pakete aus Ihrem Feed.
- Einrichten von Aufbewahrungsrichtlinien.
- Manuelles Löschen von Paketen dauerhaft.
- Wiederherstellen kürzlich gelöschter Pakete.
Hinweis
Um Pakete zu löschen/wiederherzustellen oder Aufbewahrungsrichtlinien einzurichten, müssen Sie ein Feedbesitzer sein.
Pakete löschen
In Azure Artifacts sind Pakete unveränderlich. Nachdem Sie ein Paket in Ihrem Feed veröffentlicht haben, wird dessen Versionsnummer dauerhaft reserviert. Selbst wenn Sie es aus Ihrem Feed löschen, können Sie kein neues Paket mit derselben Versionsnummer veröffentlichen.
Hinweis
Sie müssen feed Publisher (Mitwirkender) sein, um die Liste eines Pakets und einen Feedbesitzer aufzuheben, um es zu löschen.
Es gibt zwei verfügbare Optionen zum Entfernen eines NuGet-Pakets aus Ihrem Feed, "Unlist " und "Delete". Wenn Sie eine Paketversion aufheben, wird sie aus den Suchergebnissen in Azure Artifacts-Feeds und auf NuGet.org ausgeblendet, während beim Löschen einer Paketversion diese an den Papierkorb gesendet wird und sie für die Installation nicht verfügbar macht.
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.
Wählen Sie das Paket aus, das Sie löschen möchten, und wählen Sie dann "Liste aufheben" oder "Löschen" aus.
Aufheben der Liste von Paketen mithilfe von NuGet.exe
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.
Wählen Sie Verbinden aus, um NuGet.exe zu feeden>, und suchen Und kopieren Sie dann ihre Paketquell-URL. Es sollte diesem Format ähneln: "https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json".
Führen Sie den folgenden Befehl aus, um die Liste Ihres NuGet-Pakets aufzuheben:
nuget.exe delete <PACKAGE_NAME> <PACKAGE_VERSION> -Source <PACKAGE_SOURCE_URL> -ApiKey <KEY>
Hinweis
Azure DevOps und Visual Studio Team Foundation Server interpretieren den Befehl als Vorgang zum Aufheben der nuget.exe delete
Liste. Zum Löschen eines Pakets müssen Sie die REST-API verwenden oder manuell über die Weboberfläche löschen.
Dauerhaftes Löschen von Paketen
Pakete, die im Papierkorb platziert werden, werden nach 30 Tagen endgültig gelöscht, tragen aber weiterhin zu Ihren Speicherkosten während dieser Zeit bei. Wenn Sie sie vor diesem Zeitraum entfernen möchten, können Sie sie manuell aus dem Papierkorb löschen, indem Sie die folgenden Schritte ausführen:
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.
Wählen Sie in der oberen rechten Ecke den Papierkorb aus.
Wählen Sie das Paket aus, das Sie endgültig löschen möchten, und wählen Sie dann endgültig löschen aus.
Wählen Sie "Endgültig löschen" aus, um Ihre Entscheidung zu bestätigen. Ihr Paket wird dauerhaft gelöscht.
Automatisches Löschen von Paketen mit Aufbewahrungsrichtlinien
Die Anzahl der Versionen für jedes paket, das in Ihrem Feed gehostet wird, kann schnell wachsen. Um Speicherplatz freizugeben, können Sie Aufbewahrungsrichtlinien einrichten, um alte Pakete automatisch zu löschen.
Wenn Sie ein Paket auf unbestimmte Zeit aufbewahren möchten, können Sie es in eine Ansicht höher stufen. In eine Ansicht höhergestufte Pakete sind von Aufbewahrungsrichtlinien ausgenommen und unterliegen nicht dem Löschen. Führen Sie die folgenden Schritte aus, um Aufbewahrungsrichtlinien für Ihren Feed zu konfigurieren:
Hinweis
Azure Artifacts unterstützt keine Paketherstufung.
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann das Zahnradsymbol in der oberen rechten Ecke aus, um auf die Einstellungen Ihres Feeds zuzugreifen.
Wählen Sie "Feeddetails" aus, und aktivieren Sie dann das Kontrollkästchen "Paketaufbewahrung aktivieren". Geben Sie Werte für die maximale Anzahl von Versionen pro Paket und Days an, um kürzlich heruntergeladene Pakete beizubehalten.
Maximale Anzahl von Versionen pro Paket: Die Anzahl der Versionen für jedes Paket, das Sie beibehalten möchten.
Tage, die kürzlich heruntergeladene Pakete beibehalten werden: Pakete werden nur gelöscht, wenn sie für die angegebene Anzahl von Tagen, die hier angegeben wurden, nicht heruntergeladen wurden.
Wählen Sie Speichern aus, wenn Sie fertig sind.
Hinweis
Wenn Sie Aufbewahrungsrichtlinien aktivieren, wird eine Version eines Pakets gelöscht, wenn beide der folgenden Bedingungen erfüllt sind:
- Die Anzahl der veröffentlichten Versionen erreicht die maximale Anzahl von Versionen pro Paketlimit .
- Eine Version dieses Pakets wurde für den in "Days" angegebenen Zeitraum nicht heruntergeladen, um kürzlich heruntergeladene Pakete beizubehalten.
Wiederherstellen gelöschter Pakete
Gelöschte Pakete werden 30 Tage lang im Papierkorb erneut Standard. Nach diesem Zeitraum werden sie endgültig gelöscht. Sie müssen ein Feedbesitzer sein, um gelöschte Pakete wiederherzustellen.
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte aus, und wählen Sie dann den Papierkorb aus.
Wählen Sie Ihr Paket und dann " Wiederherstellen" aus.
Wählen Sie "Wiederherstellen " erneut aus, um Ihre Entscheidung zu bestätigen.
Fragen und Antworten
F: Was ist der Unterschied zwischen Veraltet, Unlist, Yank und Löschen einer Paketversion?
A: Veraltet gilt für npm-Pakete, Yank gilt für Cargo-Pakete, während "Unlist " für NuGet-Pakete gilt. Sie können auch alle Pakettypen löschen (npm, Maven, Python, Cargo und Universal Packages):
Veraltet (npm): Wenn Sie eine Paketversion veraltet haben, wird der Metadaten des Pakets eine Warnmeldung hinzugefügt. Azure Artifacts und die meisten npm-Clients zeigen diese Warnmeldung immer dann an, wenn das Paket angezeigt oder installiert wird.
Unlist (NuGet): Das Aufheben der Liste einer Paketversion blendet sie aus den Suchergebnissen in Azure Artifacts-Feeds und auf NuGet.org aus.
Yank (Cargo): Yanking einer Paketversion kennzeichnet sie als veraltet oder veraltet, entmutigt ihre Verwendung, aber es löscht das Paket nicht.
Löschen: Das Löschen einer Paketversion macht die Installation nicht verfügbar. Gelöschte Pakete können innerhalb von 30 Tagen nach dem Löschen aus dem Papierkorb wiederhergestellt werden. Nach diesem Zeitraum werden die Pakete endgültig gelöscht.
F: Was geschieht mit alten oder vorhandenen Paketen, wenn Aufbewahrungsrichtlinien aktiviert werden?
A: Alte oder vorhandene Pakete werden vorläufig gelöscht und in den Papierkorb verschoben. Der Löschauftrag wird ein Mal pro Tag ausgeführt, aber es kann zu einer anfänglichen Verzögerung kommen, nachdem die Richtlinie zum ersten Mal aktiviert wurde, weil ein Zustrom von Paketen zu verzeichnen ist.
Pakete verbleiben 30 Tage lang im Papierkorb, bevor sie endgültig gelöscht werden. Um die Pakete aus Ihrem kostenpflichtigen Speicher zu entfernen, können Sie sie manuell löschen, indem Sie die Benutzeroberfläche oder die REST-API verwenden, bevor die 30 Tage abgelaufen sind.
F: Wie lange dauert die Aktualisierung des in Rechnung gestellten Speicherbetrags nach dem Löschen von Artefakten?
A: Normalerweise sollte der Speicherverbrauch innerhalb von 24 Stunden aktualisiert werden, obwohl es in bestimmten Fällen bis zu 48 Stunden dauern kann, bis die Änderungen widerzuspiegeln sind. Die Artefaktnutzung auf der Abrechnungsseite Ihrer Organisation wird einmal täglich aktualisiert. Die Artefaktspeicherseite wird jedoch häufiger aktualisiert, was zu einer geringfügigen Diskrepanz zwischen den auf den beiden Seiten angezeigten Informationen führen kann.