Pular para conteúdo

Aula 15 - Projeto Prático Integrador 🏗️🚀

Objetivo

Objetivo: Integrar todos os conhecimentos adquiridos (Git, Docker, Cloud, IaC e Monitoramento) para colocar uma aplicação real no ar seguindo as melhores práticas DevOps.


1. O Desafio: A esteira de produção 🏎️

Ao longo do curso, vimos as peças separadas. Agora, vamos montar o quebra-cabeça. O objetivo é criar o fluxo completo desde o seu computador até a nuvem:

  1. Monitoramento: Validar se os logs e métricas estão subindo.

A Jornada do Projeto

graph TD
    APP(["APP Local"]) -- "Dockerize" --> IMG(["Imagem"])
    IMG -- "Git Push" --> GH(["GitHub Actions"])
    GH -- "Terraform" --> INFRA(["Cloud Infra"])
    GH -- "Deploy" --> RUN(["App no Ar"])
    RUN -- "Metrics" --> MON(["Grafana"])

Orquestrando o Lab Final (Termynal) 💻

git push origin main Triggering Integration... Terraform apply: Done (12 resources) Docker push: Done (v1.0.0) Cloud Run deploy: Done Link: https://projeto-final.a.run.app 🚀


2. Passo 1: O Repositorio 📦

Crie um novo repositório no GitHub. Organize as pastas de forma clara: * /src: Código da aplicação. * /infra: Arquivos do Terraform. * /.github/workflows: Arquivos de CI/CD. * Dockerfile: Receita do container.


3. Passo 2: A Automação (CI) 🤖

Configure o GitHub Actions para que, a cada push, ele: * Rode os testes unitários. * Analise o código com uma ferramenta de Lint. * Gere a imagem Docker e envie para o Docker Hub.


4. Passo 3: Provisionamento (IaC) 💻

Use o Terraform para criar os recursos necessários na Cloud de sua escolha (AWS/Azure/GCP). * Lembre-se de configurar o State File em um bucket remoto (S3/Cloud Storage). * Não suba senhas para o Git! Use variáveis do GitHub Secrets.


5. Passo 4: Deploy e Monitoramento 📊

No último passo do seu pipeline de CD, o código deve ser atualizado no servidor. * Valide o acesso via URL pública. * Acesse o dashboard de monitoramento e veja os gráficos de consumo de CPU aumentarem durante o deploy.


6. Checkpoint de Entrega ✅

Para considerar seu projeto concluído, responda: 1. Sua aplicação está rodando via container? 2. Consigo deletar toda a infraestrutura e recriar com um único comando terraform apply? 3. O deploy acontece automaticamente ao dar git push na branch main?


Próxima Aula: Como entrar neste mercado? Carreira e Próximos Passos 🏃‍♂️