A integração contínua é um conjunto de práticas em engenharia de software de verificar cada alteração no código-fonte que o resultado altera e não produz regressão na aplicação desenvolvida. O conceito foi mencionado pela primeira vez por Grady Booch e geralmente se refere à prática de programação extrema . O principal objetivo desta prática é detectar problemas de integração no início do desenvolvimento. Além disso, permite automatizar a execução de suítes de teste e acompanhar a evolução do desenvolvimento de software.
A integração contínua é cada vez mais usada nos negócios para melhorar a qualidade do código e do produto final.
A integração contínua é frequentemente baseada na implementação de um bloco de software permitindo a automação de tarefas: compilação , testes unitários e funcionais, validação de produto, testes de desempenho ... A cada mudança de código, este bloco de software executará um conjunto de tarefas. e produzir um conjunto de resultados, que o desenvolvedor pode consultar posteriormente. Esta integração permite assim não esquecer nenhum elemento durante o início da produção e assim melhorar a qualidade do produto.
Para aplicar esta técnica, você deve primeiro:
Uma ferramenta de integração contínua é então necessária, como CruiseControl , Jenkins ou Travis CI . Outras ferramentas, como SonarQube ou Jacoco, podem ser configuradas para monitorar a qualidade do código.
As principais vantagens de tal técnica de desenvolvimento são: