Partilhar via


Excluir e recuperar pacotes

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

Os Artefatos do Azure armazenam com segurança vários tipos de pacote em um feed, sejam publicados diretamente ou salvos de fontes upstream. À medida que versões de pacotes mais antigas se tornam menos relevantes, você pode removê-las manualmente ou usando políticas de retenção para liberar espaço e reduzir custos.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização Azure DevOps .
- Um projeto do Azure DevOps .
- Um feed de Azure Artifacts .
- Permissões:
    - Você deve ser um Feed Owner para configurar políticas de retenção, excluir pacotes e feeds ou restaurar pacotes da lixeira.
    - Você deve ser um Feed Publisher (Colaborador) ou superior para remover da lista, depreciar ou retirar pacotes.

Excluir pacotes

No Azure Artifacts, os pacotes são imutáveis, o que significa que seus números de versão não podem ser reutilizados ou modificados após a publicação. Depois de publicar um pacote num feed, o seu número de versão é reservado permanentemente. Mesmo que você exclua o pacote, sua versão permanece registrada no histórico do feed e você não pode publicar um novo pacote com o mesmo número de versão.

Há duas maneiras de remover um pacote NuGet de um feed: Cancelar lista e Excluir. Cancelar a listagem de uma versão do pacote oculta-a dos resultados da pesquisa nos feeds do Azure Artifacts e no NuGet.org. A exclusão de uma versão do pacote move-a 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 Artefactos e, em seguida, selecione o seu feed no menu suspenso.

  3. Selecione o pacote que deseja eliminar e, em seguida, selecione Retirar da lista para ocultá-lo dos resultados da pesquisa nos feeds de Artefatos do Azure e em NuGet.org, ou Excluir para movê-lo para a lixeira.

    Uma captura de tela exibindo como excluir ou cancelar a lista de um pacote NuGet no Azure Artifacts.

Cancelar a lista de pacotes (CLI)

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

  2. Selecione Artefatose, em seguida, selecione o seu feed no menu suspenso.

  3. Selecione Conectar ao feed>NuGet.exee, em seguida, localize e copie a URL da origem do pacote . Deve seguir 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 pacote. O argumento ApiKey é necessário, mas é tratado como um substituto ao publicar num feed de Artefatos do Azure, pelo que pode usar qualquer valor de texto.

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

Importante

O Azure DevOps interpreta o comando nuget.exe delete como uma operação de remoção de listagem. Isso significa que a execução do comando não exclui o pacote, mas o oculta dos resultados da pesquisa nos feeds do Azure Artifacts e no NuGet.org. Para excluir um pacote do feed, você deve usar o da API REST do ou excluí-lo manualmente da interface da Web.

Eliminar pacotes permanentemente

Os pacotes na lixeira são excluídos automaticamente após 30 dias, mas ainda contam para o uso do armazenamento durante esse período. Para removê-los mais cedo, 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 Artefatose, em seguida, selecione o seu feed no menu suspenso.

  3. No canto superior direito, selecione Lixeira.

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

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

  5. Para confirmar a sua decisão, selecione novamente Excluir permanentemente. Seu pacote será excluído permanentemente.

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

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

À medida que o número de versões de pacotes no feed cresce, o uso do armazenamento pode aumentar rapidamente. Você pode configurar políticas de retenção para excluir automaticamente versões antigas do pacote e liberar espaço.

Se precisar manter um pacote indefinidamente, promova-o numa visualização . Os pacotes numa vista estão isentos de políticas de retenção e não estarão sujeitos a eliminaçã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 pacotes. Depois que um pacote é promovido para uma exibição, ele não pode ser revertido para @local.

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

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

  3. Selecione Detalhes do feed, marque a caixa de seleção Ativar retenção de pacotes e configure as seguintes definições:

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

Observação

Quando as políticas de retenção estiverem habilitadas, uma versão do pacote será excluída somente quando ambas as das seguintes condições forem atendidas:

  • O número total 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 dentro do prazo 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 este período, são permanentemente eliminados. Para restaurar um pacote da lixeira, siga estas etapas:

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

  2. Selecione Artefatose, em seguida, selecione Lixeira.

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

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

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

Perguntas e Respostas

P: Qual é a diferença entre Deprecate, Unlist, Yanke 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ê pode excluir qualquer um dos tipos de pacote (npm, Maven, Python, Cargo e Pacotes Universais) do feed de Artefatos do Azure.

  • Deprecate (npm): Quando se descontinua uma versão de um 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.

  • Deslistar (NuGet): Deslistar uma versão do pacote oculta-a dos resultados das pesquisas nas feeds do Azure Artifacts e no NuGet.org.

  • Yank (Cargo): Marcar uma versão de um pacote como obsoleta ou descontinuada desencoraja o seu uso, mas não elimina o pacote.

  • Excluir: A exclusão de uma versão do pacote move-a para a lixeira, tornando-a indisponível para instalação. Os pacotes excluídos podem ser restaurados da lixeira no prazo de 30 dias. Após este período, serão permanentemente eliminados.

P: Como faço para excluir todas as versões do pacote?

R: Para excluir todas as versões de um pacote, selecione o pacote do seu feed, selecione Versõese, em seguida, marque a caixa de seleção ao lado de versão. Isso selecionará todas as versões desse pacote no seu feed. Selecione Excluire, em seguida, selecione excluir mais uma vez para confirmar.

Uma captura de tela mostrando como excluir todas as versões de um feed.

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 entrada 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 excluí-los manualmente usando a interface do usuário da Web ou a API REST antes que o período de 30 dias termine.

P: E se eu não quiser ativar as políticas de retenção?

R: As políticas de retenção de Artefatos do Azure foram projetadas para ajudar a gerenciar suas dependências e simplificar o gerenciamento de custos de armazenamento. Se você optar por não habilitar as políticas de retenção, precisará gerenciar seu armazenamento manualmente, monitorando o consumo e excluindo pacotes conforme necessário. O Azure Artifacts oferece 2 GiB de armazenamento gratuito por organização, o que permite avaliar se o serviço se ajusta ao seu fluxo de trabalho. Depois de exceder o limite de armazenamento, você não poderá publicar novos artefatos, a menos que configure o faturamento e aumente seu limite de armazenamento.

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. No entanto, em alguns casos, pode 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, enquanto a página Armazenamento de Artefatos é atualizada com mais frequência, o que pode levar a uma pequena discrepância entre os dois.