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!

Exibindo o último commit do git na sua aplicação ASP.NET Core

Nesse post vou demonstrar como exibir o último commit do Git na sua aplicação ASP.NET Core.

Primeiramente clique com o botão direito sobre sobre sua aplicação e clique em Properties, em seguida clique em Build Events e na sequência clique em Edit Pre-build e digite a seguinte linha de código que se encontra no bloco abaixo:

git log -1 > "$(ProjectDir)versao.txt"

O comando acima pega o log do último commit e cria um arquivo chamado versao.txt no diretório base do seu projeto. Observe que utilizei a macro ProjectDir para automaticamente criar meu arquivo com o último log no diretório base do projeto. Caso queira saber mais sobre macros, na tela de Edit Pre-build, clique no botão Macros >> haverão muitas opções que poderão lhe auxiliar, caso queira fazer algo mais elaborado.

Nosso próximo passo será colocar nosso arquivo versao.txt “embutido” na nossa aplicação e para isso, clique sobre o arquivo versao.txt com o botão direito e em seguida clique em Properties. Na opção BuildAction selecione Embedded resource e na opção Copy to Output Directory selecione Copy always.

Por fim, agora vamos ler nosso arquivo versao.txt para exibir dentro da sua aplicação, utilizando o código abaixo:

string gitVersion = string.Empty;
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SuaAplicacao.versao.txt"))
using (var reader = new StreamReader(stream))
{
    gitVersion = reader.ReadToEnd();
}

Note que a variável gitVersion receberá o conteúdo do último commit.

Espero que tenham gostado do artigo e até a próximo!

Obrigado!

VS 2019 Launch Local – Araraquara

Olá pessoal,

No último sábado do mês de junho (29/06) participei do VS 2019 Launch Local – Araraquara, evento no qual ajudei tanto na organização quanto palestrando. No total tivemos um público de 70 pessoas.

As inscrições do evento foram realizadas através do Sympla.

Os slides utilizados na minha palestra, sobre como Desenvolver na nuvem com o VS 2019 você confere logo abaixo:

Abaixo algumas fotos do evento.

VS 2019 Launch Local – Araraquara 01
VS 2019 Launch Local – Araraquara 02

VS 2019 Launch Local + MS Build 2019

Olá pessoal,

No último sábado dia 25/05 participei do VS 2019 Launch Local + MS Build 2019, eventos no quais ajudei tanto na organização quanto palestrando. No total tivemos um público de 60 pessoas.

Os slides utilizados na minha palestra, sobre como Desenvolver na nuvem com o VS 2019 você confere logo abaixo:

Abaixo algumas fotos do evento.

VS 2019 Launch Local + MS Build 2019
VS 2019 Launch Local + MS Build 2019

Global Azure Bootcamp 2019 – Campinas

Olá pessoal,

No último sábado dia 27/04 participei do Global Azure Bootcamp 2019 – Campinas, evento no qual ajudei na organização, palestrando e também ministrando um workshop (este último em parceria com o Robson Rocha). As incrições do evento foram efetuadas pelo Sympla e tivemos um publico de 70 pessoas.

Os slides utilizados na minha palestra, sobre como Desenvolver “offline” no Azure você confere logo abaixo:

E para quem quiser o código utilizado, é só baixar através desse link

Já sobre o Workshop dos 5 Serviços do Azure que todo o Desenvolvedor precisa conhecer, os slides você confere logo abaixo e o código utilizado através desse link

Abaixo algumas fotos do evento.

Global Azure Bootcamp 2019
Global Azure Bootcamp 2019

Visual Studio 2019 Launch Local – Jundiaí

Olá pessoal,

No último sábado dia 06/04 participei do Visual Studio 2019 Launch Local – Jundiaí palestrando sobre como Desenvolver na nuvem utilizando o Visual Studio 2019.

Os slides utilizados na palestra você confere logo abaixo:

Também gostaria de deixar aqui, meu muito obrigado para o pessoal do Developers-BR pelo convite.

Abaixo, algumas fotos da minha palestra.

Visual Studio 2019 Launch Local – Jundiaí
Visual Studio 2019 Launch Local – Jundiaí