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.
Este conteúdo é destinado a quem já tem experiência em DevOps e deseja se aprofundar na criação de scripts para automatizar tarefas.
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.
Para aproveitar melhor este conteúdo, é recomendado que você já tenha concluído os cursos anteriores desta formação.
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!
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.
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
).
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.
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.
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.
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.
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:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.