🎓 Resumo para Iniciantes
Imagina que toda vez que alguém termina de escrever um código, um robô automaticamente testa tudo e coloca no ar — sem ninguém precisar fazer isso na mão. Isso é CI/CD. Menos erro humano, mais velocidade.
O que é?
CI/CD é a combinação de duas práticas complementares de engenharia de software:
- CI (Continuous Integration): Integração contínua — cada mudança de código é automaticamente testada e integrada ao repositório principal
- CD (Continuous Delivery / Continuous Deployment): Entrega ou implantação contínua — o código aprovado é automaticamente preparado (e opcionalmente publicado) em produção
Juntas, formam o pipeline que permite que times de desenvolvimento publiquem código com frequência e confiança.
Como funciona o pipeline
Um pipeline típico de CI/CD funciona assim:
- Desenvolvedor faz push do código para o repositório (Git)
- Sistema de CI executa automaticamente: testes unitários, linting, build
- Se tudo passar: artifact gerado (imagem Docker, pacote npm, etc.)
- CD assume: deploy automatizado para staging
- Aprovação (manual ou automática) para deploy em produção
CI/CD no e-commerce
Para operações de e-commerce com times de desenvolvimento, CI/CD é infraestrutura crítica:
- Releases frequentes sem downtime: Publicar mudanças de catálogo, layout, promoções sem janelas de manutenção
- Qualidade garantida por automação: Regressões são detectadas antes de chegar ao cliente
- Rollback rápido: Se algo der errado em produção, reverter para a versão anterior em minutos
- Múltiplos ambientes: Desenvolvimento → Staging → Produção com promoção automática
Ferramentas mais usadas
| Ferramenta | Contexto |
|---|---|
| GitHub Actions | Integrado ao GitHub, muito popular |
| GitLab CI | Nativo no GitLab |
| CircleCI | Foco em performance de pipeline |
| Jenkins | Self-hosted, altamente customizável |
| AWS CodePipeline | Integrado ao ecossistema AWS |
CI vs. CD
| Sigla | Foco |
|---|---|
| CI | Garantir que o código novo não quebra o que existe |
| CD (Delivery) | O código está sempre pronto para ir a produção |
| CD (Deployment) | O código vai a produção automaticamente sem aprovação manual |
A diferença entre Delivery e Deployment está no grau de automação: em Delivery ainda há uma aprovação humana antes da produção; em Deployment o processo é completamente automático.
Biblioteca do Arquiteto
Continuous Delivery
Jez Humble, David Farley
The DevOps Handbook
Gene Kim, Patrick Debois, John Willis
Archie (O Bibliotecário)
CURADOR"Eu li todos eles. A maioria é lixo. Estes aqui são os que sobraram na minha prateleira depois de 30 anos codando."