Qual a diferença entre CI / CD e continuous deployment?
Embora frequentemente utilizados como um único termo, CI, CD e Continuous Deployment representam etapas distintas do ciclo de vida do software.
Continuous Integration (CI)
É a prática de integrar frequentemente o código produzido por desenvolvedores em um repositório central.
Cada integração dispara automaticamente processos como:
-
Compilação
-
Testes automatizados
-
Análise de qualidade do código
O objetivo da CI é detectar erros o mais cedo possível, garantindo que o código esteja sempre em um estado funcional.
Continuous Delivery (CD)
Na Entrega Contínua, o software passa por todas as etapas automatizadas (build, testes, validações) e fica pronto para ser implantado em produção a qualquer momento.
Entretanto, a decisão de implantar ainda depende de uma aprovação manual.
Continuous Deployment
Na Implantação Contínua, não há intervenção humana após a validação do pipeline.
Toda mudança que passa com sucesso pelos testes é automaticamente implantada em produção.
Resumo comparativo:
| Prática | Implantação automática em produção |
|---|---|
| CI | Não |
| Continuous Delivery | Não (requer aprovação) |
| Continuous Deployment | Sim |