IC Integração Contínua - eTecnologia/projeto-genesis GitHub Wiki
Por que precisamos aprender Integração Contínua (IC)?
Quando temos diversos desenvolvedores e/ou equipes trabalhando em colaboração para construir um software é imprescindível ter um mecanismo para controlar como integrar o trabalho de cada de desenvolvedor. Integração Continua (CI - Continuous Integration) é esse mecanismo que possibilita uma a integração do trabalho feito por vários desenvolvedores.
Genesis: A origem
O termo 'Integração Contínua' originou-se com o processo de desenvolvimento da Extreme Programming (XP) de Kent Beck , como uma de suas doze práticas originais.
Segundo Martin Fowler a Integração Contínua (CI) é uma boa prática de desenvolvimento de software onde as pessoas de uma equipe integram seu trabalho com frequência, geralmente cada pessoa integra pelo menos diariamente, levando a várias integrações por dia. Cada integração é verificado por uma compilação
automatizada (incluindo teste) para detectar a integração erros o mais rápido possível.
CI tem diversos benefícios diretos entre eles destacamos:
- Encontrar e corrigir os defeitos (bugs) mais cedo
- Melhorar a qualidade do software
- Reduzir o tempo que leva para validar e lançar novas atualizações de software.
Ferramenta:
Para automatizar as tarefas da IC é necessário usar ferramentas, existem diversas ferramentas disponíveis no mercado, destacamos: <a href=https://www.jenkins.io/">Jenkins é uma ferramenta open source que pode ser utilizada para automatizar a IC
Existem alguns livro sobre IC, destacamos:
Para ir além:
Leitura essencial:
Integração Contínua por Martin Fowler
Certificação para Integração Contínua por Martin Fowler
Leitura recomendada:
Integração Contínua por Dan Radigan