Principais conceitos para artefatos do Azure

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

Imutabilidade

Depois de publicar uma versão específica de um pacote em um feed, esse número de versão é reservado permanentemente. Não é possível carregar um pacote de revisão mais recente com o mesmo número de versão, nem excluí-lo e carregar um novo pacote com o mesmo número de versão.

Muitos clientes de pacotes, incluindo NuGet e npm, mantêm um cache local de pacotes em sua máquina. Depois que um cliente tiver armazenado em cache uma versão específica do pacote, ele retornará essa cópia em solicitações futuras de instalação/restauração.

Se, no lado do servidor, você substituir uma versão de pacote v1 por uma nova versão v2, o cliente não poderá dizer a diferença. Isso pode levar a resultados de compilação indeterminados de máquinas diferentes. Por exemplo, a máquina de um desenvolvedor e o agente de compilação podem ter armazenado em cache diferentes revisões do pacote, levando a resultados de compilação inesperados.

Se um pacote estiver quebrado, com bugs ou compartilhar conteúdo não intencional (como segredos), a melhor abordagem é preparar uma correção e publicá-la como uma nova versão. Em seguida, dependendo da gravidade do problema e da dependência do pacote, você pode excluir o pacote para torná-lo indisponível para consumo.

A única maneira de contornar a restrição de imutabilidade é criar um novo feed e publicar a versão do pacote desejado no novo feed.

Observação

Os feeds excluídos permanecem na lixeira por 30 dias e, em seguida, são excluídos permanentemente. O nome do feed fica disponível quando ele é excluído permanentemente.

Indexação

Os Artefatos do Azure mantêm um índice de todos os pacotes em cada feed, o que permite operações de lista rápidas. As operações de lista em seus compartilhamentos de arquivos exigem que o cliente abra cada pacote e examine seus metadados, a menos que seu compartilhamento de arquivos tenha sido configurado para fornecer um índice que o cliente entenda.

Bem formados

Os Artefatos do Azure validam todos os pacotes publicados para garantir que estejam bem formados. Isso impede que pacotes inválidos entrem em seus ambientes de desenvolvimento e compilação. No entanto, qualquer fluxo de trabalho que publique pacotes malformados será interrompido ao migrar para o Azure Artifacts.

Lixeira

Os pacotes podem ser excluídos manualmente ou configurando políticas de retenção para seu feed. Os pacotes excluídos permanecem na lixeira por 30 dias e, em seguida, são excluídos permanentemente. Os proprietários do feed podem recuperar os pacotes excluídos da Lixeira.