O que é "CI"

Product DiscoveryProduct Management

Definição

O CI (Continuous integration ou Integração contínua) corresponde à primeira etapa do CD (Continuous delivery ou Entrega contínua). Trata-se de uma inovação do modelo tradicional de integração, que gerava muitos conflitos com as mudanças de código. 

O CI é uma prática que permite compartilhar modificações testadas nos códigos utilizados pelos desenvolvedores. 

Dave Farley, autor do livro “Continuous Delivery” e dono do canal no Youtube de mesmo nome,  compartilha que um dos princípios do CI é a avaliação constante de mudanças nos códigos, pelo menos, uma vez ao dia. A constância dessa prática faz com que a revisão e a correção dos códigos sejam mais rápidas. 

O especialista recomenda esperar pelos resultados dos testes, que demoram, em média, 5 minutos, para identificar se tem alguma falha no código.  

A proposta do CI é agir imediatamente sobre o que há de errado no código, corrigir o problema com rapidez e, depois, monitorar o progresso das mudanças realizadas.

 

Origem do termo

Em 1990, o engenheiro de software e um dos signatários do Agile Manifesto, Kent Beck, trabalhava em um projeto para a fabricante de automóveis Chrysler, ao lado de um grupo de outros profissionais. O CI era uma das práticas adotadas para Extreme Programming, metodologia criada nesse projeto.

A definição e as coordenadas do CI foram inseridas no C2 Wiki, documento que concentra alguns dos conceitos mais importantes para o desenvolvimento de software.  

Como usar o termo "CI" na prática

Um pequeno erro de código pode criar um grande conflito, então, é preciso prevenir e mitigar falhas. 

O CI desempenha essa função no processo de desenvolvimento de software, trazendo mais flexibilidade para os desenvolvedores e possibilidade de conciliar e resolver problemas nos códigos.

Além disso, essa abordagem permite facilitar o trabalho de desenvolvedores, evitar erros e retrabalho quando há muitos arquivos envolvidos ou códigos compartilhados pelos desenvolvedores.

Um dos grandes benefícios desse modelo é organizar o processo de desenvolvimento, além de contar com códigos sempre testados.  

 

Framework para CI

O processo de integração contínua pode gerar problemas continuamente também. Assim, o CI é utilizado para evitar essa situação. Essa abordagem se baseia em automações e no monitoramento frequente do código desenvolvido. 

Toda vez que uma mudança no código é feita, essa automação registra as alterações e testa a modificação feita. Se caso falhar durante a fase de testagem, a equipe é notificada para fazer as alterações necessárias ao funcionamento adequado do código.

O CI garante a segurança de dados e permite que o time continue trabalhando sobre um mesmo código, possibilitando a integração contínua.

O objetivo do CI é que as mudanças sejam testadas e implementadas automaticamente para todos que compartilham do código modificado, a não ser que a automação identifique um problema. Nesse caso, como falamos, a equipe é notificada para que o erro seja corrigido, mantendo a transparência do processo de mudança nos códigos. 

 

Algumas ferramentas populares de CI 

Conteúdos sobre o tema

Confira alguns materiais para aprender mais sobre CI:

 

Você tem vontade de elevar a barra em produto no Brasil?

A PM3, contando com a ajuda da comunidade, está construindo o primeiro Glossário de Produto do Brasil e você pode fazer parte disso!

Ficou com vontade de ajudar também?

Clique aqui e registre sua colaboração. Ah, nós sempre damos os devidos créditos às pessoas. 😉