Entre para a LISTA VIP da Black Friday

00

DIAS

00

HORAS

00

MIN

00

SEG

Clique para saber mais
Alura > Cursos de DevOps > Cursos de Automação de processos > Conteúdos de Automação de processos > Primeiras aulas do curso Scripting: crie pipelines com Github Actions para deploy na AWS

Scripting: crie pipelines com Github Actions para deploy na AWS

Garantindo a qualidade do software - Apresentação

Olá, meu nome é Gabrielle Ribeiro, instrutora da Alura, e te acompanharei neste curso sobre automação e scripting. Boas-vindas!

Audiodescrição: Gabrielle se autodeclara como uma mulher parda, tem cabelo ruivo fantasia, na altura dos ombros, com uma franja curta cobrindo a testa. Usa óculos de armação redonda e escura, além de um delineado marcante. Está de camiseta preta e usa um colar tipo choker com um pingente de cruz. À sua frente, um microfone apoiado num braço articulado. Ao fundo, um ambiente com iluminação vermelha e azul.

Para quem é este curso?

Este conteúdo é destinado a quem já tem experiência em DevOps e deseja se aprofundar na criação de scripts para automatizar tarefas.

O que aprenderemos?

Neste curso, aprenderemos a usar o GitHub Actions para criar workflows que automatizem tarefas como build e testes.

Também vamos utilizar a ferramenta SonarCloud para realizar a análise estática dos nossos códigos.

Realizaremos o deploy de uma API na AWS usando um pipeline de entrega contínua.

Faremos também um backup de banco de dados na nuvem e realizaremos o monitoramento pós-deploy de uma aplicação.

Todo esse conteúdo será apresentado através da API do Vollmed, uma aplicação de gerenciamento de consultas médicas.

Pré-requisitos

Para aproveitar melhor este conteúdo, é recomendado que você já tenha concluído os cursos anteriores desta formação.

Dicas de estudo

Aproveite os recursos da nossa plataforma! Além dos vídeos, temos também atividades, o fórum do curso e a nossa comunidade do Discord.

Bons estudos!

Garantindo a qualidade do software - Entendendo o projeto

Neste curso, vamos utilizar um projeto chamado Vollmed, uma API de clínica médica.

Vamos trabalhar com o back-end dessa aplicação, uma API escrita em Java, cujo código está disponível na atividade "Preparando o Ambiente". Caso você não conheça essa linguagem de programação, não se preocupe, pois o foco deste curso não é Java e você conseguirá acompanhar as aulas de qualquer maneira.

Etrutura do projeto

Vamos entender a estrutura desse projeto abrindo-o no VSCode. No explorador de arquivos, podemos conferir a pasta "src" (source), onde estarão todos os códigos do nosso projeto. Dentro da subpasta "main", teremos os códigos da aplicação em si, e na subpasta chamada "test", estão implementados alguns testes unitários para essa aplicação.

Esta aplicação está containerizada, então temos um Dockerfile já configurado e também dois arquivos de docker-compose - um para utilizarmos no nosso ambiente de desenvolvimento (docker-compose.yaml) e outro para o ambiente de produção (docker-compose-prod.yaml).

Build com Maven

Este projeto utiliza uma ferramenta chamada Maven, muito popular no universo do Java para construir projetos e realizar builds.

O processo de build nada mais é que compilar componentes do código do projeto, passando-o por alguns procedimentos, para, ao final, termos um arquivo executável ou em um formato distribuível.

No caso do nosso curso, vamos colocar o projeto da Vollmed em produção. Então, é interessante termos essa build, o formato distribuível, para utilizar no nosso ambiente de produção.

E como o Maven realiza isso? Dentro do projeto Java, temos um arquivo chamado pom.xml com todas as configurações que o Maven utiliza para realizar a build - como os plugins utilizados no projeto, as dependências e tudo o que for necessário para construir esse artefato de build. O Maven vai utilizar essas configurações e transformar o nosso código fonte em um arquivo com a extensão .jar.

Cada linguagem de programação tem diferentes etapas para esse processo de build. Portanto, sempre que trabalhamos com uma linguagem de programação diferente, é importante ler a documentação para entender como a build funciona para essa linguagem.

Deixamos também uma atividade "Para Saber Mais" nesta aula para explicar como funciona o processo para diferentes linguagens de programação.

Executando o projeto

Agora, vamos executar o nosso projeto para conferi-lo funcionando. Vamos abrir um terminal dentro do VS Code, clicando no menu de três pontos na barra de ferramentas superior, depois em "Terminal > New Terminal".

Como a nossa aplicação está dentro de um container, podemos rodar o seguinte comando para construir as nossas imagens e executar os nossos containers.

docker compose up

Esse processo pode demorar um pouco, pois como é uma aplicação de back-end, temos um banco de dados e vamos fazer o download da imagem do MySQL DB do Docker Hub. Então, o tempo necessário pode variar conforme a velocidade da sua internet.

Quando o processo finalizar, teremos o nosso container em execução. Podemos verificar se a nossa API está funcionando acessando o seguinte link no nosso navegador:

localhost:8000/medicos

Com esse link, acessamos um caminho aberto da nossa API. Nessa página há um texto informando que o conteúdo está vazio, pois ainda não temos nenhuma informação salva no banco de dados. Mas a API está funcionando!

Vamos voltar ao VS Code e, no terminal, pressionar o atalho "Ctrl + C" para parar os nossos containers.

Garantindo a qualidade do software - Subindo o projeto para o GitHub

Em projetos de software, é comum trabalhar colaborativamente com outras pessoas. Para isso, precisamos disponibilizar o código do nosso projeto em um local onde todas as pessoas tenham acesso. Portanto, vamos subir o nosso código no GitHub.

O GitHub, além de auxiliar no processo colaborativo, também serve para automatizar algumas tarefas, como executar os testes unitários e o processo de build.

Subindo o projeto para o GitHub

Vamos abrir o navegador e logar na nossa conta do GitHub. No menu lateral esquerdo da página inicial, clicaremos no botão "New" para criar um novo repositório.

Descemos até o campo "Repository name" para dar nomea ao nosso repositório, que pode ser vollmed-api. As demais configurações deixamos no padrão, sem alterá-las, certificando-nos de que o repositório está público. Por fim, clicamos no botão "Create repository" no canto inferior direito da página para criar o nosso repositório remoto.

Para facilitar o processo de trazer esse código para o GitHub, vamos copiar a URL disponibilizada no campo "Quick setup" do repositório já criado (substituindo seu-usuario pelo seu nome de usuário do GitHub):

https://github.com/seu-usuario/vollmed-api.git

Feito isso, voltamos para o VS Code e abrimos um novo terminal. Inicializamos um repositório local git para o nosso projeto executando o seguinte comando:

git init

Agora, conectamos o repositório local com o repositório remoto usando o comando git remote add origin e a URL que copiamos:

git remote add origin https://github.com/seu-usuario/vollmed-api.git

Em seguida, vamos definir a branch principal do nosso projeto. Para isso, executamos o comando:

git branch -M main

Adicionamos nessa branch os arquivos do nosso projeto com o seguinte comando:

git add .

Por fim, efetuamos o commit com o comando git commit -m e, entre aspas duplas, podemos adicionar um comentário sobre esse commit, como "Adiciona projeto".

git commit -m "Adiciona projeto"

Subimos essas alterações para o nosso repositório do GitHub com o comando:

git push origin main

Pronto!

Agora, se voltarmos para o GitHub e atualizarmos a página do nosso repositório, confirmaremos que todos os nossos arquivos, antes locais, agora estão nesse repositório remoto.

Na sequência, vamos aprender como podemos usar o GitHub para criar um pipeline que automatiza tanto a execução dos testes unitários quanto o processo de build.

Sobre o curso Scripting: crie pipelines com Github Actions para deploy na AWS

O curso Scripting: crie pipelines com Github Actions para deploy na AWS possui 175 minutos de vídeos, em um total de 58 atividades. Gostou? Conheça nossos outros cursos de Automação de processos em DevOps, ou leia nossos artigos de DevOps.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Automação de processos acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas