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.
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.
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.
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.
Confira alguns materiais para aprender mais sobre CI:
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. ?
Contribua para o Glossário de Produto e ajuda a comunidade
Enviar sugestão de verbete