Coding and Programming

Deploy .NET Core 6 Application no Azure Web App com GitHub Actions

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.

  1. Clique em Create a Resource e na barra de pesquisa digite Web App em seguida clique em Create.
  2. Agora vamos preencher os dados necessários para criar nosso Web App:
    1. Selecione ou crie um Resource Group;
    2. Digite um nome para sua Web App (lembrando que esse nome precisa ser único);
    3. No Runtime stack, selecione .NET 6 (LTS);
    4. Em Operating System, selecione Linux;
    5. Em Region, selecione a região que mais lhe agrada;
    6. Em SKU and Size selecione o plano que deseja (existe um plano Free);
    7. E finalize clicando em Next:Deployment;
  3. Nesse momento começa a configuração do Deploy contínuo utilizando GitHub Actions.
    1. Em Continuous deployment, marque Enable;
    2. Faça o login da sua conta GitHub;
    3. Na sequência, selecione a Organização, o Repositório e a Branch que deseja que ocorra o deploy;
  4. 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:

Figura 1

E assim encerramos esse artigo. Espero que tenham gostado e até a próxima.

Muito Obrigado!

Leave a Reply

Your email address will not be published. Required fields are marked *