L' integrazione continua è un insieme di pratiche nell'ingegneria del software per controllare ogni modifica del codice sorgente che il risultato cambia non produce regressione nell'applicazione sviluppata. Il concetto è stato menzionato per la prima volta da Grady Booch e generalmente si riferisce alla pratica della programmazione estrema . L'obiettivo principale di questa pratica è rilevare i problemi di integrazione nelle prime fasi dello sviluppo. Inoltre, consente di automatizzare l'esecuzione di suite di test e di vedere l'evoluzione dello sviluppo del software.
L'integrazione continua è sempre più utilizzata nelle aziende per migliorare la qualità del codice e del prodotto finale.
L'integrazione continua si basa spesso sull'implementazione di un software brick che consente l'automazione delle attività: compilazione , test unitari e funzionali, convalida del prodotto, test delle prestazioni... Ad ogni modifica del codice, questo software brick eseguirà una serie di attività. e produrre una serie di risultati, che lo sviluppatore può consultare in seguito. Questa integrazione consente quindi di non dimenticare alcun elemento durante l'inizio della produzione e quindi di migliorare la qualità del prodotto.
Per applicare questa tecnica, devi prima:
È quindi necessario uno strumento di integrazione continua, come CruiseControl , Jenkins o Travis CI . Altri strumenti, come SonarQube o Jacoco, possono essere impostati per monitorare la qualità del codice.
I principali vantaggi di una tale tecnica di sviluppo sono: