Excluir e recuperar pacotes

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

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

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

Nota

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

Excluir pacotes

No Azure Artifacts, os pacotes são imutáveis. Depois de publicar um pacote no seu feed, o número da 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.

Nota

Você deve ser um Editor de Feed (Colaborador) para cancelar a lista de um pacote 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. Cancelar a listagem de uma versão do pacote a oculta dos resultados da pesquisa nos feeds do Azure Artifacts e no NuGet.org, enquanto a exclusão de uma versão do pacote a envia para a lixeira e a torna indisponível para instalação.

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

  2. Selecione Artefatos e, em seguida, selecione seu 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.

Cancele a lista de pacotes usando NuGet.exe

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

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

  3. Selecione Conectar ao feed>NuGet.exe e, em seguida, localize e copie o 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 cancelar a lista do seu pacote NuGet:

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

Nota

O Azure DevOps e o Visual Studio Team Foundation Server interpretam o nuget.exe delete comando como uma operação de remoção de listagem. 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 os custos de armazenamento durante esse período. Se desejar removê-los antes desse período, você pode excluí-los manualmente da Lixeira seguindo estas etapas:

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

  2. Selecione Artefatos e, em seguida, selecione seu 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 deseja excluir permanentemente e, em seguida, selecione Excluir permanentemente.

    Uma captura de tela mostrando como excluir permanentemente um pacote no Azure Artifacts.

  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 no 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 para uma exibição estão isentos de políticas de retenção e não estarão sujeitos a exclusão. Para configurar políticas de retenção para seu feed, siga as etapas abaixo:

Nota

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

  1. Entre em 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 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 os pacotes baixados recentemente.

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

    • 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 especificado aqui.

  4. Quando terminar, selecione Guardar.

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

Nota

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

  • O número de versões publicadas atinge o limite máximo de versões por pacote .
  • Uma versão desse pacote não foi baixada durante o período especificado em Dias para manter os 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 em 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.

Q&A

P: Qual é a diferença entre Deprecate, Unlist, Yank e Delete a package version?

R: Deprecate aplica-se a pacotes npm, Yank aplica-se 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):

  • Depreciar (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): Remover a listagem de uma versão do pacote oculta-a dos resultados da pesquisa nos feeds do Azure Artifacts e no NuGet.org.

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

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

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

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

Os pacotes permanecem na Reciclagem durante 30 dias antes de serem eliminados permanentemente. Para remover os pacotes do armazenamento faturável, pode optar por eliminá-los manualmente com a IU ou a API REST antes de os 30 dias terminarem.

P: Quanto tempo leva para o valor de armazenamento faturado ser 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.