🛠️ CI/CD e Qualidade de Código
Garantir a qualidade do software entregue através de automação rigorosa e deploys previsíveis, suportando múltiplas entregas diárias com segurança.
GitOps Adotamos o modelo GitOps, onde o estado desejado da nossa infraestrutura é definido em arquivos de configuração no Git, garantindo auditabilidade e facilidade de rollback.
🔄 Fluxo de Trabalho (Gitflow Adaptado)
Nosso workflow foca em agilidade através de Pull Requests e revisões constantes.
Feature Development
O desenvolvedor cria uma branch feature/* a partir da main.
Pull Request & CI
Ao abrir um PR, o GitHub Actions inicia automaticamente os testes e análises de qualidade.
Code Review & Quality Gate
Revisão por pares e validação do SonarQube. O merge só é permitido se o Quality Gate for aprovado.
🧪 Estratégia de Testes
Utilizamos a Pirâmide de Testes para equilibrar custo e confiança:
| Tipo | Ferramenta | Descrição |
|---|---|---|
| Unitários | JUnit 5 / Mockito | Validação da lógica pura do Domínio. |
| Integração | Testcontainers | Sobe instâncias reais de Oracle e Kafka via Docker para testes. |
| Qualidade | SonarQube | Análise estática, cobertura e detecção de bugs/code smells. |
| E2E | Cypress / Playwright | Testes ponta a ponta simulando o fluxo do usuário no Angular. |
🏗️ Pipeline de Entrega (CI/CD)
O fluxo automatizado desde o código até a execução no cluster Kubernetes.
🛡️ Quality Gate (SonarQube)
Para garantir que o código em produção seja de alta qualidade, o SonarQube impõe:
- Cobertura de Testes: Mínimo de 80%.
- Bugs/Vulnerabilidades: Zero Críticos ou Major.
- Code Smells: Mantidos abaixo do limite de manutenibilidade.
- Duplicate Lines: Máximo de 3%.
Deploy Seguro Com o ArgoCD, qualquer alteração no ambiente de produção é precedida por um commit no repositório de manifestos, permitindo que o cluster se mantenha sempre sincronizado com o código.