Integração Contínua (CI)
Prática de desenvolvimento em que os desenvolvedores integram mudanças de código várias vezes ao dia num repositório compartilhado, com cada integração verificada automaticamente.
CI foi formalizada por Grady Booch em 1991 e popularizada por Kent Beck no Extreme Programming. Pipeline típico: gatilho → build → testes → lint/scan → relatório. Plataformas: GitHub Actions, GitLab CI/CD, Jenkins.
graph LR
Center["Integração Contínua (CI)"]:::main
Rel_parallelism["parallelism"]:::related -.-> Center
click Rel_parallelism "/terms/parallelism"
Rel_agile_methodology["agile-methodology"]:::related -.-> Center
click Rel_agile_methodology "/terms/agile-methodology"
Rel_raid["raid"]:::related -.-> Center
click Rel_raid "/terms/raid"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Explique como se eu tivesse 5 anos
A CI é como um professor inteligente que corrige sua lição de casa a cada exercício. Em vez de esperar o final do mês para descobrir um erro, você o vê em segundos e o corrige imediatamente.
🤓 Expert Deep Dive
A CI eficaz baseia-se na pirâmide de testes (muitos testes unitários, poucos E2E) e funciona melhor com o Trunk-Based Development. É o pré-requisito para o CD (Entrega/Implantação Contínua).
❓ Perguntas frequentes
What is the difference between CI and CD?
CI (Continuous Integration) automatically builds and tests code on every commit, ensuring the codebase is always in a working state. CD (Continuous Delivery or Deployment) goes further, automatically delivering or deploying that verified code to staging or production environments.
What is 'integration hell'?
Integration hell occurs when developers work on separate branches for a long time and then try to merge everything at once. The resulting merge conflicts and hidden incompatibilities can take days or weeks to resolve. CI prevents this by integrating small changes frequently.
Do I need CI for a solo project?
It's highly recommended even for solo projects. CI automatically runs your tests on every commit, catching regressions you might miss, and platforms like GitHub Actions offer generous free tiers.