Integrazione continua: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Correzione della parola "principi"
metodo, non metodologia che è lo studio dei metodi
Riga 1:
Nell'[[ingegneria del software]], l<nowiki>'</nowiki>'''integrazione continua''' (''continuous integration'' in [[lingua inglese|inglese]], spesso abbreviato in '''CI''') è una pratica che si applica in contesti in cui lo [[ciclo di vita del software|sviluppo del software]] avviene attraverso un sistema di [[controllo versione]]. Consiste nell'allineamento ''frequente'' (ovvero "molte volte al giorno") dagli ambienti di lavoro degli sviluppatori verso l'ambiente condiviso (''mainline'').<ref>[http://martinfowler.com/articles/continuousIntegration.html Martin Fowler, ''Continuous Integration'']</ref> Il concetto è stato originariamente proposto nel contesto dell'[[extreme programming]] (XP), come contromisura preventiva per il problema dell'"integration hell" (le difficoltà dell'integrazione di porzioni di software sviluppati in modo indipendente su lunghi periodi di tempo e che di conseguenza potrebbero essere significativamente divergenti). Il CI può essere considerato come una estremizzazione di idee già presenti in altrealtri metodologiemetodi precedenti all'XP, per esempio il [[metodo Booch]].
 
Il CI è stato originariamente concepito per essere complementare rispetto ad altre pratiche, in particolare legate al [[Test Driven Development]] (sviluppo guidato dai test, TDD). In particolare, si suppone generalmente che siano stati predisposti [[Automazione del collaudo del software|test automatici]] che gli sviluppatori possono eseguire immediatamente prima di rilasciare i loro contributi verso l'ambiente condiviso, in modo da garantire che le modifiche non introducano errori nel software esistente. Per questo motivo, il CI viene spesso applicato in ambienti in cui siano presenti sistemi di build automatico e/o esecuzione automatica di test, come [[Jenkins (software)|Jenkins]]. Tuttavia, l'identificazione del CI con l'uso di strumenti di questo tipo, frequente in letteratura, è scorretta: di per sé, la pratica del CI può essere applicata anche a prescindere da sistemi di testing automatico.