Principais conceitos para o Azure Artifacts
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 será permanentemente reservado. Não é possível carregar um pacote de revisão mais recente com o mesmo número de versão ou excluí-lo e carregar um novo pacote com o mesmo número de versão.
Muitos clientes de pacote, incluindo NuGet e npm, mantêm um cache local de pacotes em seu computador. Depois que um cliente tiver armazenado em cache uma versão de pacote específica, ele retornará essa cópia em solicitações futuras de instalação/restauração.
Se, no lado do servidor, você substituir uma versão do pacote v1 por uma nova versão v2, o cliente não poderá diferenciar a diferença. Isso pode levar a resultados indeterminados de compilações em máquinas diferentes. Por exemplo, o computador de um desenvolvedor e o agente de build podem ter armazenado em cache diferentes revisões do pacote, levando a resultados inesperados de build.
Se um pacote estiver quebrado, com bugs ou compartilhando 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 de quão amplamente dependente o 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 desejada no novo feed.
Nota
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 o feed é excluído permanentemente.
Indexação
O Azure Artifacts 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 todos os pacotes e examine seus metadados, a menos que o compartilhamento de arquivos tenha sido configurado para fornecer um índice que o cliente entenda.
Boa formação
O Azure Artifacts valida todos os pacotes publicados para garantir que eles estejam bem formados. Isso impede que pacotes inválidos entrem nos seus ambientes de desenvolvimento e construção. No entanto, qualquer fluxo de trabalho que publica 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 o feed. Os pacotes excluídos permanecem na lixeira por 30 dias e, em seguida, são excluídos permanentemente. Os proprietários de feeds podem recuperar os pacotes excluídos da Lixeira.