Olá, pessoal, tudo bem?
Nesse post vou mostrar como publicar um aplicação feita em .NET Core 6 no Azure Web App utilizando GitHub Actions.
A aplicação que faremos deploy pode ser encontrada nesse link e ela consiste em calcular o Fatorial de um número utilizando Recursão como solução para o problema. Aproveitando, vou deixar abaixo uma citação muito interessante sobre recursão.
“Os loops podem melhorar o desempenho do seu programa. A recursão melhorar o desempenho do seu programador. Escolha o que for mais importante para a sua situação.”
Leigh Coldwell (Retirado do livro: Entendendo Algoritmos)
Sem mais delongas, vamos para o passo a passo.
Primeiramente, vamos acessar o portal do Azure e criar um Web App.
- Clique em Create a Resource e na barra de pesquisa digite Web App em seguida clique em Create.
- Agora vamos preencher os dados necessários para criar nosso Web App:
- Selecione ou crie um Resource Group;
- Digite um nome para sua Web App (lembrando que esse nome precisa ser único);
- No Runtime stack, selecione .NET 6 (LTS);
- Em Operating System, selecione Linux;
- Em Region, selecione a região que mais lhe agrada;
- Em SKU and Size selecione o plano que deseja (existe um plano Free);
- E finalize clicando em Next:Deployment;
- Nesse momento começa a configuração do Deploy contínuo utilizando GitHub Actions.
- Em Continuous deployment, marque Enable;
- Faça o login da sua conta GitHub;
- Na sequência, selecione a Organização, o Repositório e a Branch que deseja que ocorra o deploy;
- Agora clique em Review + Create (Poderíamos customizar mais configurações no nosso Web App, entretanto como o propósito desse artigo é demonstrar como fazer o deploy, ja vamos finalizar nossa customização aqui).
Assim que terminar o deploy, podemos clicar no link (https://<nome_do_seu_webapp>.azurewebsites.net) para acessar a nossa aplicação. Feito isso observe que ocorre um HTTP ERROR 404, entretanto veja que nossa aplicação esta funcionando, e para confirmar isso basta fazer um curl na API, conforme exemplo abaixo:
curl -X 'GET' \ 127 ✘ 15:53:27
'https://web-factorial.azurewebsites.net/Factorial?number=5' \
-H 'accept: */*'
The factorial of the number 5 is 120.%
Para deixarmos algo mais amigável, note que o deploy esta considerando o environment como Produção e no nosso código por padrão (e principalmente, por segurança), o Swagger só esta habilitado para ambiente de desenvolvimento, então se voltamos ao nosso código no arquivo Program.cs e comentar o seguinte trecho de código:
//if (app.Environment.IsDevelopment())
//{
app.UseSwagger();
app.UseSwaggerUI();
//}
E na sequência, comitarmos, observe que automaticamente o Deploy sera executado, e ao seu término o Swagger estará disponível, conforme figura abaixo:
E assim encerramos esse artigo. Espero que tenham gostado e até a próxima.
Muito Obrigado!