Jump to section

Cos'è la distribuzione continua?

Copia URL

La distribuzione continua è una procedura per lo sviluppo software che si avvale dell'automazione per accelerare il rilascio di nuovo codice.

Definisce un processo con il quale le modifiche apportate da uno sviluppatore a un'applicazione possono essere inviate, tramite l'automazione, a un repository di codice o a un registro di container.

La distribuzione continua è parte del metodo CI/CD, che consente di distribuire frequentemente il software automatizzando alcune fasi dello sviluppo applicativo. 

L'acronimo "CI" in CI/CD sta per integrazione continua. Con l'integrazione continua, le nuove modifiche apportate al codice dell'app vengono regolarmente compilate, testate e unite in un repository condiviso., risolvendo così il problema dei conflitti tra le numerose diramazioni di un'applicazione in fase di sviluppo.

L'acronimo "CD" in CI/CD può far riferimento al deployment continuo o alla distribuzione continua, e indica le modalità per automatizzare le fasi successive della pipeline.

CI/CD FLow

Benché siano concetti strettamente correlati, deployment continuo e distribuzione continua vengono a volte utilizzati in modo distinto per specificare come avviene l'automazione.

Con distribuzione continua si intende in genere il processo con il quale le modifiche apportate da un team di sviluppo all'applicazione vengono automaticamente testate alla ricerca di bug e caricate in un repository (come GitHub o un registro per container), dal quale vengono distribuite in un ambiente di produzione dai team operativi. È una soluzione al problema della scarsa visibilità e comunicazione tra i team di sviluppo e quelli operativi. In questo senso la distribuzione continua ha il fine di garantire interventi manuali minimi per distribuire il nuovo codice.

Il deployment continuo, invece, fa riferimento ad alcuni ulteriori passaggi relativi al processo di rilascio del nuovo software. In genere prevedere il rilascio automatico delle modifiche apportate dallo sviluppatore dal repository alla produzione, dove diventano fruibili ai clienti. In tal modo, si evita di sovraccaricare i team operativi con procedure manuali, che altrimenti rallenterebbero il processo di distribuzione delle applicazioni. Sfrutta quindi i vantaggi della distribuzione continua, automatizzando la fase successiva del flusso.

La trasformazione richiede esercizio

Leggi i risultati ottenuti da tre clienti mediante la trasformazione digitale basata sull'open source.
 

La pipeline CI/CD consiste in una serie di passaggi che devono essere eseguiti per fornire una nuova versione del software. Una volta messo in atto il processo CI/CD, si è stabilita una pipeline CI/CD (o flusso di integrazione e distribuzione/deployment continui).

La pipeline CI/CD introduce il monitoraggio e l'automazione per ottimizzare il processo di sviluppo applicativo, in particolare nelle fasi di integrazione e test, nonché durante la distribuzione e il deployment. 

Il vantaggio principale delle pipeline CI/CD sta nell'automazione dell'intero ciclo di vita dell'applicazione, benché ognuna delle fasi CI/CD possa essere eseguita manualmente.

DevOps è un concetto che combina i processi di "sviluppo" e quelli "operativi", ma è anche un approccio alla cultura, all'automazione e alla progettazione di piattaforme, ideato per offrire maggiore valore aziendale e reattività attraverso un'erogazione dei servizi efficiente e di qualità elevata.

La distribuzione continua è una procedura di sviluppo software specifica, spesso applicata in combinazione a DevOps. Un approccio DevOps implica la creazione di una pipeline di distribuzione continua.

DevOps descrive gli approcci da adottare per accelerare i processi che consentono a un'idea (come una nuova caratteristica software, una richiesta di miglioramento o un bug fix) di passare dallo sviluppo al deployment in un ambiente di produzione, dove può fornire valore all'utente. 

Con questo approccio gli sviluppatori, che solitamente creano codici in un ambiente di sviluppo standard, lavorano a stretto contatto con il personale dedito ai test e ai processi IT, per velocizzare le fasi di creazione, modifiche al codice, collaudo e rilascio dei software, senza rinunciare all'affidabilità.

Uno dei principali effetti dell'implementazione di DevOps è una pipeline CI/CD supportata dai team di sviluppo e operativi che collaborano utilizzando una metodologia agile

CI/CD si basa sull'automazione per velocizzare i processi di sviluppo, deployment e test. L'automazione contribuisce a mantenere una qualità elevata limitando l'errore umano. Se inserita in una strategia DevSecOps può anche supportare la sicurezza.

Alcuni strumenti gestiscono specificamente l'aspetto dell'integrazione (CI), alcuni gestiscono sviluppo e deployment (CD), altri sono specifici per i test continui o le funzioni correlate.

Uno degli strumenti open source più noti per CI/CD è il server di automazione Jenkins, progettato per gestire qualsiasi elemento da un semplice ferro per di integrazione continua a un hub completo di distribuzione continua.

Un altro progetto open source molto diffuso è Tekton, componente di Continuous Delivery Foundation. Tekton fornisce la capacità di descrivere in maniera dichiarativa i flussi di distribuzione mediante concetti Kubernetes ed eseguendoli on demand nei container.

Su Tekton si fonda OpenShift Pipelines, una soluzione CI/CD per Red Hat® OpenShift®.

Keep reading

ARTICOLO

Cos'è la metodologia DevSecOps?

Per sfruttare tutta l'agilità e la reattività di un approccio DevOps, occorre tenere conto anche di un altro elemento cruciale dell'intero ciclo di vita delle tue applicazioni: la sicurezza IT.

ARTICOLO

Cosa si intende con CI/CD?

Il metodo CI/CD introduce l'automazione costante e il monitoraggio continuo in tutto il ciclo di vita delle applicazioni, dalle fasi di integrazione e test a quelle di distribuzione e deployment.

ARTICOLO

Il ruolo di un ingegnere DevOps

Un ingegnere DevOps possiede competenze ed esperienze specifiche che promuovono collaborazione, innovazione e trasformazione all'interno di un'azienda.  

Scopri di più su DevOps

Prodotti

Un incontro conoscitivo approfondito con gli esperti di Red Hat in cui apprendere una metodologia agile e identificare gli strumenti open source più adatti a risolvere i problemi della tua azienda.

Collabora con il nostro team di consulenti strategici in grado di analizzare l'azienda nel suo insieme e valutare le sfide da affrontare, per aiutarti a superarle con soluzioni complete e convenienti.

Risorse