Com a chegada do Azure DevOps, um novo recurso bem interessante foi incorporado na solução de DevOps – o Azure Artifacts. A partir dele podemos gerenciar feeds de pacotes (NuGet, Maven e npm) integrado aos pipelines de Build e Release.
Os feeds são configurados por padrão para utilizar fontes públicas (como upstreams). E assim, upstreams ativos ajudam a proteger contra interrupções de provedores públicos de pacotes.
Vamos começar a utilizar? Acesse o Artifacts no Azure DevOps e crie um novo feed. Nas configurações, insira o nome do Feed, a visibilidade (organização ou pessoas específicas que poderão visualizar) e os pacotes que serão utilizados.
Em seguida, clique em Connect to feed. No exemplo, vou utilizar o Get do próprio NuGet, mas veja que há outras opções disponíveis, como npm, Maven e Gradle.
Acesse o Visual Studio, e na solução da sua aplicação, escolha a opção de Gerenciar Pacotes do NuGet para a solução.
Clique no símbolo da engrenagem (lado direito superior), e insira uma nova Origem de Pacote, utilizando o símbolo verde +. Configure então o nome e a origem, que é o link exibido no Azure DevOps, quando executamos o Connect to feed. Desabilite a opção anterior para manter o time utilizando o novo feed como opção primária.
De volta ao Azure DevOps, acesse o seu Build Pipeline e crie uma tarefa de NuGet. Altere a opção de Command para push, e o Target Feed para o Feed que criamos anteriormente.
Após a execução do Build, veja no Log que a tarefa de NuGet push está entre as tarefas executas com sucesso.
Agora em Artifacts, podemos visualizar os pacotes publicados no feed do seu time. Podemos então consumi-los em outras soluções.
De volta ao Visual Studio, abra a solução de outro time, por exemplo, e acesse “Gerenciar Pacotes do NuGet para a solução” (botão direito em cima da solução). Confirme se “em origem do pacote” (canto direito superior) está selecionado o feed correto. Os pacotes do feed estarão disponíveis para uso. Selecione o que será utilizado e clique na opção “Instalar”.
E assim os pacotes estarão disponíveis para esta solução também. Aproveite então este novo recurso de Artifacts do Azure DevOps.