CI - Continuous Integration vs CD
Sta per Continuous Integration (Integrazione Continua).
| CI - Continuous Integration | CD | |
|---|---|---|
| Definition | L'Integrazione Continua (CI) è una pratica di sviluppo software in cui gli sviluppatori uniscono regolarmente le loro modifiche al codice in un repository centrale, seguito da build e test automatizzati. È una pratica fondamentale della filosofia DevOps. | Il Continuous Deployment, o Continuous Delivery, è un approccio di ingegneria del software dove le modifiche al codice vengono automaticamente rilasciate nell'ambiente di produzione attraverso una serie di test automatizzati. |
| Categories | ALM, CI, DevOps, automazione, qualità, sviluppo | DevOps, alm, automazione, ci, deploy, release |
Cosa significa CI?
Sta per Continuous Integration (Integrazione Continua).
Definizione
L'Integrazione Continua (CI) è una pratica di sviluppo software in cui gli sviluppatori uniscono regolarmente le loro modifiche al codice in un repository centrale, seguito da build e test automatizzati. È una pratica fondamentale della filosofia DevOps.
Automazione
CI comporta sia una componente culturale, promuovendo un'integrazione frequente, sia una componente di automazione. Le modifiche al codice attivano processi di build automatizzati per creare software eseguibile.
Obiettivi
Gli obiettivi chiave della CI sono trovare e correggere gli errori rapidamente, migliorare la qualità del software e ridurre il tempo necessario per validare e rilasciare nuovi aggiornamenti software.
Fiducia
L'integrazione frequente genera fiducia nel fatto che la base del codice sia sempre in uno stato funzionale.
Copertura dei Test
La CI dovrebbe includere un insieme completo di test automatizzati per coprire diversi aspetti del software e garantire il suo livello di QA.
Cos'è CD?
Sta per continuous deployment (distribuzione continua).
Definizione
Il Continuous Deployment, o Continuous Delivery, è un approccio di ingegneria del software dove le modifiche al codice vengono automaticamente rilasciate nell'ambiente di produzione attraverso una serie di test automatizzati.
Processo
Le nuove modifiche al codice passano attraverso un pipeline di test e ispezione, e se approvate, vengono direttamente distribuite nell'ambiente di produzione.
Correzione
Le distribuzioni frequenti facilitano il ritrovamento e la correzione dei bug, poiché i bug sono più recenti e più facili da rintracciare.