Eliminare e ripristinare i pacchetti

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

Azure Artifacts archivia in modo sicuro vari tipi di pacchetto all'interno del feed, indipendentemente dal fatto che siano stati pubblicati direttamente o salvati da origini upstream. Man mano che le versioni precedenti dei pacchetti diventano meno rilevanti, è possibile valutarne la rimozione tramite l'eliminazione manuale o usando i criteri di conservazione. In questo articolo si apprenderà come:

  • Eliminare i pacchetti dal feed.
  • Configurare i criteri di conservazione.
  • Eliminare manualmente i pacchetti in modo permanente.
  • Ripristinare i pacchetti eliminati di recente.

Nota

Per eliminare/ripristinare i pacchetti o configurare i criteri di conservazione, è necessario essere un proprietario del feed.

Eliminare pacchetti

In Azure Artifacts i pacchetti non sono modificabili. Dopo aver pubblicato un pacchetto nel feed, il numero di versione è riservato in modo permanente. Anche se si elimina dal feed, non è possibile pubblicare un nuovo pacchetto con lo stesso numero di versione.

Nota

È necessario essere un autore di feed (collaboratore) per annullare l'elenco di un pacchetto e un proprietario del feed per eliminarlo.

Sono disponibili due opzioni per rimuovere un pacchetto NuGet dal feed, Annullare l'elenco ed eliminare. L'annullamento dell'elenco di una versione del pacchetto lo nasconde dai risultati della ricerca nei feed di Azure Artifacts e in NuGet.org, mentre si elimina una versione del pacchetto lo invia al Cestino e lo rende non disponibile per l'installazione.

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il feed dal menu a discesa.

  3. Selezionare il pacchetto da eliminare e quindi selezionare Annulla o Elimina.

    Screenshot che mostra come eliminare o rimuovere un pacchetto NuGet.

Annullare l'elenco dei pacchetti con NuGet.exe

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il feed dal menu a discesa.

  3. Selezionare Connessione per feed>NuGet.exe e quindi trovare e copiare l'URL dell'origine del pacchetto. Dovrebbe essere simile a questo formato: "https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json".

  4. Eseguire il comando seguente per annullare l'elenco del pacchetto NuGet:

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

Nota

Azure DevOps e Visual Studio Team Foundation Server interpretare il nuget.exe delete comando come operazione di annullamento dell'elenco. Per eliminare un pacchetto, è necessario usare l'API REST o eliminarlo manualmente dall'interfaccia Web.

Eliminare i pacchetti in modo permanente

I pacchetti inseriti nel Cestino vengono eliminati definitivamente dopo 30 giorni, ma continuano a contribuire ai costi di archiviazione durante tale periodo. Se si desidera rimuoverli prima di questo periodo, è possibile eliminarli manualmente dal Cestino seguendo questa procedura:

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il feed dal menu a discesa.

  3. Selezionare Cestino nell'angolo superiore destro.

    Screenshot che mostra come accedere al Cestino in Azure Artifacts.

  4. Selezionare il pacchetto da eliminare definitivamente e quindi selezionare Elimina definitivamente.

    Screenshot che mostra come eliminare definitivamente un pacchetto in Azure Artifacts.

  5. Selezionare Elimina definitivamente ancora una volta per confermare la decisione. Il pacchetto verrà eliminato definitivamente.

    Screenshot che mostra un messaggio di conferma prima di eliminare definitivamente un pacchetto.

Eliminare automaticamente i pacchetti con i criteri di conservazione

Il numero di versioni per ogni pacchetto ospitato nel feed può aumentare rapidamente. Per liberare spazio di archiviazione, è possibile configurare i criteri di conservazione per eliminare automaticamente i pacchetti precedenti.

Se si desidera conservare un pacchetto per un periodo illimitato, è possibile alzarlo di livello a una visualizzazione. I pacchetti promossi a una vista sono esenti dai criteri di conservazione e non saranno soggetti all'eliminazione. Per configurare i criteri di conservazione per il feed, seguire questa procedura:

Nota

Azure Artifacts non supporta l'abbassamento di livello dei pacchetti.

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi selezionare l'icona a icona a forma di ingranaggio forma di ingranaggio nell'angolo superiore destro per accedere alle impostazioni del feed.

  3. Selezionare Dettagli feed e quindi selezionare la casella di controllo Abilita conservazione pacchetti. Specificare i valori per il numero massimo di versioni per pacchetto e Giorni per mantenere i pacchetti scaricati di recente.

    • Numero massimo di versioni per pacchetto: numero di versioni per ogni pacchetto che si desidera conservare.

    • Giorni per mantenere i pacchetti scaricati di recente: i pacchetti verranno eliminati solo se non sono stati scaricati per il numero specificato di giorni specificati qui.

  4. Al termine, seleziona Salva.

    Screenshot che mostra come configurare i criteri di conservazione per il feed.

Nota

Quando si abilitano i criteri di conservazione, una versione di un pacchetto verrà eliminata quando vengono soddisfatte entrambe le condizioni seguenti:

  • Il numero di versioni pubblicate raggiunge il limite massimo di versioni per pacchetto .
  • Una versione del pacchetto non è stata scaricata per il periodo specificato in Giorni per mantenere i pacchetti scaricati di recente.

Ripristinare i pacchetti eliminati

I pacchetti eliminati rimangono nel Cestino per 30 giorni. Dopo questo periodo, verranno eliminati definitivamente. Per ripristinare i pacchetti eliminati, è necessario essere un proprietario del feed.

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi Cestino.

  3. Selezionare il pacchetto e quindi selezionare Ripristina.

    Screenshot che mostra come ripristinare i pacchetti eliminati.

  4. Selezionare Ripristina ancora una volta per confermare la decisione.

Domande e risposte

D: Qual è la differenza tra Deprecate, Unlist, Yank e Delete a package version?

R: Deprecate si applica ai pacchetti npm, Yank si applica ai pacchetti Cargo mentre Unlist si applica ai pacchetti NuGet. È anche possibile eliminare uno dei tipi di pacchetto (npm, Maven, Python, Cargo e Pacchetti universali):

  • Deprecate (npm): quando si depreca una versione del pacchetto, viene aggiunto un messaggio di avviso ai metadati del pacchetto. Azure Artifacts e la maggior parte dei client npm visualizzeranno questo messaggio di avviso ogni volta che il pacchetto viene visualizzato o installato.

  • Unlist (NuGet): l'annullamento dell'elenco di una versione del pacchetto lo nasconde dai risultati della ricerca nei feed di Azure Artifacts e in NuGet.org.

  • Yank (Cargo): yanking una versione del pacchetto lo contrassegna come obsoleto o deprecato, discoscrivandone l'uso, ma non elimina il pacchetto.

  • Eliminazione: l'eliminazione di una versione del pacchetto rende non disponibile l'installazione. I pacchetti eliminati possono essere ripristinati dal Cestino entro 30 giorni dall'eliminazione. Dopo questo periodo, i pacchetti verranno eliminati definitivamente.

D: Cosa accade con i pacchetti obsoleti o esistenti quando si abilitano i criteri di conservazione?

R: i pacchetti precedenti o esistenti verranno eliminati soft-delete e spostati nel Cestino. Il processo di eliminazione viene eseguito una volta al giorno, ma potrebbe verificarsi un ritardo iniziale dopo l'attivazione del criterio per la prima volta a causa di un afflusso di pacchetti.

I pacchetti rimangono nel Cestino per 30 giorni prima che vengano eliminati definitivamente. Per rimuovere i pacchetti dall'archiviazione fatturabile, è possibile scegliere di eliminarli manualmente usando l'interfaccia utente o l'API REST prima del termine dei 30 giorni.

D: Quanto tempo è necessario per l'aggiornamento dell'importo di archiviazione fatturato dopo l'eliminazione degli artefatti?

R: In genere, l'utilizzo dello spazio di archiviazione deve essere aggiornato entro 24 ore, anche se in alcuni casi potrebbero essere necessarie fino a 48 ore per riflettere le modifiche. L'utilizzo degli artefatti nella pagina di fatturazione dell'organizzazione viene aggiornato una volta al giorno. Tuttavia, la pagina Artifact Archiviazione viene aggiornata più frequentemente, che può causare una piccola discrepanza tra le informazioni visualizzate nelle due pagine.