Excluir e recuperar pacotes

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

Os Artefatos do Azure armazenam com segurança vários tipos de pacotes em seu feed, independentemente de você tê-los publicado diretamente ou salvo de fontes upstream. À medida que as versões mais antigas do pacote se tornam menos relevantes, você pode considerar removê-las por meio da exclusão manual ou do uso de políticas de retenção. Neste artigo, você aprenderá a:

  • Exclua pacotes do seu feed.
  • Configurar políticas de retenção.
  • Exclua pacotes manualmente permanentemente.
  • Recupere pacotes excluídos recentemente.

Observação

Para excluir/recuperar pacotes ou configurar políticas de retenção, você deve ser um Proprietário do Feed.

Excluir pacotes

Nos Artefatos do Azure, os pacotes são imutáveis. Depois de publicar um pacote em seu feed, seu número de versão é reservado permanentemente. Mesmo que você o exclua do feed, não poderá publicar um novo pacote com o mesmo número de versão.

Observação

Você deve ser um Publicador de Feed (Colaborador) para remover um pacote da lista e um Proprietário de Feed para excluí-lo.

Há duas opções disponíveis para remover um pacote NuGet do seu feed, Cancelar lista e Excluir. Retirar uma versão de pacote da lista oculta-a dos resultados da pesquisa nos feeds de Artefatos do Azure e em NuGet.org, enquanto a exclusão de uma versão de pacote a envia para a lixeira e a torna indisponível para instalação.

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.

  3. Selecione o pacote que deseja excluir e, em seguida, selecione Cancelar lista ou Excluir.

    Uma captura de tela mostrando como excluir ou cancelar a lista de um pacote NuGet.

Remova a lista de pacotes usando NuGet.exe

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.

  3. Selecione Conectar ao feed>NuGet.exe e, em seguida, localize e copie a URL de origem do pacote. Deve assemelhar-se a este formato: "https://pkgs.dev.azure.com/OrganizationName/ProjectName/_packaging/FeedName/nuget/v3/index.json".

  4. Execute o seguinte comando para deslistar seu pacote NuGet:

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

Observação

O Azure DevOps e o Visual Studio Team Foundation Server interpretam o nuget.exe delete comando como uma operação de exclusão da lista. Para excluir um pacote, você deve usar a API REST ou excluí-lo manualmente da interface da Web.

Excluir pacotes permanentemente

Os pacotes colocados na Lixeira são excluídos permanentemente após 30 dias, mas continuam a contribuir para seus custos de armazenamento durante esse período. Se desejar removê-los antes desse período, você poderá excluí-los manualmente da Lixeira seguindo estas etapas:

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.

  3. Selecione Lixeira no canto superior direito.

    Uma captura de tela mostrando como acessar a lixeira nos Artefatos do Azure.

  4. Selecione o pacote que você deseja excluir permanentemente e, em seguida, selecione Excluir permanentemente.

    Uma captura de tela mostrando como excluir permanentemente um pacote nos Artefatos do Azure.

  5. Selecione Excluir permanentemente mais uma vez para confirmar sua decisão. Seu pacote será excluído permanentemente.

    Uma captura de tela mostrando uma mensagem de confirmação antes de excluir um pacote permanentemente.

Excluir pacotes automaticamente com políticas de retenção

O número de versões para cada pacote hospedado em seu feed pode crescer rapidamente. Para liberar espaço de armazenamento, você pode configurar políticas de retenção para excluir automaticamente pacotes antigos.

Se você quiser manter um pacote indefinidamente, você pode promovê-lo para uma exibição. Os pacotes promovidos a uma exibição estão isentos de políticas de retenção e não estarão sujeitos à exclusão. Para configurar políticas de retenção para seu feed, siga as etapas abaixo:

Observação

O Azure Artifacts não dá suporte ao rebaixamento de pacote.

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione o ícone ícone de engrenagem de engrenagem no canto superior direito para acessar as configurações do seu feed.

  3. Selecione Detalhes do feed e marque a caixa de seleção Habilitar retenção de pacotes. Forneça valores para o número máximo de versões por pacote e Dias para manter pacotes baixados recentemente.

    • Número máximo de versões por pacote: O número de versões para cada pacote que você deseja manter.

    • Dias para manter pacotes baixados recentemente: Os pacotes só serão excluídos se não tiverem sido baixados pelo número especificado de dias especificados aqui.

  4. Selecione Salvar ao terminar.

    Uma captura de tela mostrando como configurar políticas de retenção para seu feed.

Observação

Quando você habilita as políticas de retenção, uma versão de um pacote será excluída quando ambas as seguintes condições forem atendidas:

  • O número de versões publicadas atinge o limite do número máximo de versões por pacote .
  • Uma versão desse pacote não foi baixada pelo período especificado em Dias para manter pacotes baixados recentemente.

Restaurar pacotes excluídos

Os pacotes excluídos permanecem na Lixeira por 30 dias. Após esse período, eles serão excluídos permanentemente. Você deve ser um proprietário de feed para restaurar pacotes excluídos.

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione Lixeira.

  3. Selecione o pacote e, em seguida, selecione Restaurar.

    Uma captura de tela mostrando como restaurar pacotes excluídos.

  4. Selecione Restaurar mais uma vez para confirmar sua decisão.

Perguntas e respostas

P: Qual é a diferença entre Deprecate, Unlist, Yank e Delete uma versão de pacote?

R: Deprecate se aplica a pacotes npm, Yank se aplica a pacotes Cargo, enquanto Unlist se aplica a pacotes NuGet. Você também pode excluir qualquer um dos tipos de pacote (npm, Maven, Python, Cargo e Universal Packages):

  • Deprecate (npm): Quando você deprecia uma versão do pacote, uma mensagem de aviso é adicionada aos metadados do pacote. Os Artefatos do Azure e a maioria dos clientes npm exibirão essa mensagem de aviso sempre que o pacote for exibido ou instalado.

  • Unlist (NuGet): Cancelar a listagem de uma versão de pacote a oculta dos resultados da pesquisa nos feeds do Azure Artifacts e no NuGet.org.

  • Yank (Cargo): Yanking uma versão do pacote o marca como obsoleto ou obsoleto, desencorajando seu uso, mas não exclui o pacote.

  • Excluir: a exclusão de uma versão do pacote a torna indisponível para instalação. Os pacotes excluídos podem ser restaurados da Lixeira dentro de 30 dias após a exclusão. Após esse período, os pacotes serão excluídos permanentemente.

P: O que acontece com pacotes antigos ou existentes quando habilitamos políticas de retenção?

R: Pacotes antigos ou existentes serão excluídos e movidos para a Lixeira. O trabalho de exclusão é executado uma vez por dia, mas pode haver um atraso inicial após a política ser ativada pela primeira vez devido a um fluxo de pacotes.

Os pacotes permanecem na Lixeira por 30 dias antes de serem excluídos permanentemente. Para remover os pacotes do armazenamento faturável, você pode optar por excluí-los manualmente usando a interface do usuário ou a API REST antes que os 30 dias acabem.

P: Quanto tempo leva para que o valor de armazenamento faturado seja atualizado após a exclusão de Artefatos?

R: Normalmente, o consumo de armazenamento deve ser atualizado dentro de 24 horas, embora em certos casos possa levar até 48 horas para que as alterações sejam refletidas. O uso de artefatos na página de faturamento da sua organização é atualizado uma vez por dia. No entanto, a página Armazenamento de Artefatos é atualizada com mais frequência, o que pode levar a uma pequena discrepância entre as informações exibidas nas duas páginas.