Azure DevOps: configurando o uso do .NET 5 para build e deployment
Lançado oficialmente nesta última semana (terça, 10/11/2020), o .NET 5 conta com diversas novidades que foram apresentadas durante o .NET Conf 2020. A comunidade .NET SP e o canal Coding Night inclusive promoverão um evento online e gratuito nesta próxima segunda, 16/11/2020 - a partir das 21:00 - horário de Brasília, com uma discussão sobre o que há de novo na plataforma .NET. Para participar clique no link a seguir e efetue sua inscrição:
https://bit.ly/dotnetconf-2020-live
Uma ótima notícia para aqueles que trabalham com automação/DevOps está na possibilidade de utilização desse release a partir do Azure DevOps.
Neste artigo demonstrarei justamente os passos para se configurar o uso do .NET 5 durante o build e deployment automatizados com o Azure DevOps.
E aproveito este espaço para um segundo convite…
Vem aí a edição 2020 do DevWeek, evento ONLINE e GRATUITO realizado pelo Canal .NET. Esse ano teremos novamente 9 palestras entregues ao longo de 3 dias de evento: 30/Novembro (segunda), 01/Dezembro (terça) e 02/Dezembro (quarta), sempre a partir das 20:00 — horário de Brasília.
Junte-se a nós e venha aprender mais sobre tendências, boas práticas, ferrmentas e técnicas de desenvolvimento de software.
Para efetuar sua inscrição clique no link:
Exemplo de configuração de um pipeline baseado no .NET 5
Partindo de um pipeline como o indicado a seguir:
Constataremos que o .NET 5 ainda não se encontra pré-instalado (do contrário seria listado como uma das versões através do comando dotnet --list-sdks):
Para resolver esta limitação temos a task Use .NET Core:
Através desta tarefa podemos especificar a instalação da versão estável do SDK do .NET 5 (5.0.100):
Com os novos ajustes teríamos um pipeline como o da próxima listagem:
O script com o comando dotnet --list-sdks retornará agora a versão 5.0.100 do .NET:
Neste momento já teremos condições de se trabalhar com o build e deployment no Azure App Service de um projeto baseado no ASP.NET 5, como indicado no pipeline a seguir:
Em que foram utilizadas a task .NET Core para gerar o build/publicação (comando publish):
A task Publish build artifacts que servirá de base para a manipulação/acesso aos arquivos gerados no publish do passo anterior:
E finalmente a task Azure App Service deploy, para o deployment em um recurso do Azure App Service em Linux no caso deste exemplo:
A seguir temos um exemplo de execução com sucesso deste pipeline:
O projeto que utilizei nestes testes já está no GitHub:
https://github.com/renatogroffe/ASPNET5-REST-Docker-Swagger_APIContagem