La fornitura continua permette ai team di sviluppo di automatizzare il processo che sposta il software attraverso il ciclo di vita del suo sviluppo, ed è in grado di fornire molti vantaggi durante il provisioning di un kit di strumenti integrato, fra cui:
Nel seguente video, Eric Minick spiega di più sulla fornitura continua:
Di seguito è riportato un insieme di procedure migliori da valutare quando si utilizza la fornitura continua:
Per sfruttare i vantaggi della fornitura continua, sono necessari altri elementi del framework continuo, come l'esplorazione continua, l'integrazione continua, la distribuzione continua e il release on demand.
Quando si utilizzano le fasi della pipeline di fornitura continua, occorre dividerle in job distinti, ovvero unità di esecuzione all'interno di uno stadio:
La pipeline di fornitura continua può aiutare i team di sviluppo a:
La distribuzione continua può far parte di una pipeline di fornitura continua. Nello specifico, la fornitura continua è il movimento automatizzato del codice nel ciclo di vita dello sviluppo (a volte definito ciclo di vita di consegna); la distribuzione continua è lo spostamento automatizzato del codice in produzione, una volta superati i test automatizzati necessari.
L'inclusione della distribuzione continua nella pipeline di distribuzione dipende dalle necessità di business. Se il business necessita che il team di consegna rilasci software nuovo o aggiornato in produzione in modo ripetuto, affidabile o il più rapidamente possibile o se la soluzione ha più dipendenze, è probabile che si possa beneficiare della distribuzione continua.
Per ulteriori informazioni sulle differenze tra distribuzione continua e fornitura continua, è disponibile questo video:
Uno strumento di fornitura continua consente di utilizzare strumenti open source per creare, distribuire e gestire le applicazioni. Integrando set di strumenti, puoi creare attività ripetibili e gestibili, non solo per il tuo team di sviluppo, ma anche per il tuo gruppo operazioni.
La tua casella degli strumenti può includere gli attuali cloud service, strumenti open source e di terza parte, ma dovrai anche prendere in considerazione uno strumento di fornitura continua che includa quanto segue:
Strumenti di fornitura continua open source utilizzabili per una solida pipeline di fornitura continua, tra cui Jenkins, Concourse CI, Spinnaker, Travis CI, GoCD e GitLab CI.
Fornitura continua agile
In precedenza, si rilasciava il software solo una volta e poi lo si aggiornava. Quindi si consultavano i clienti solo all'inizio e alla fine per capire se il software soddisfaceva le loro esigenze.
Agile è un modo di produrre software in brevi iterazioni su un programma di pianificazione continua e l'attuale processo di fornitura continua agile significa che è possibile rilasciare il codice al cliente non appena ogni caratteristica definita diventa disponibile. Lo sviluppo agile e la fornitura continua sono le chiavi per far arrivare le funzioni ai clienti non appena sono pronte per la produzione. L'obiettivo è avere ciascuna funzione pronta per il rilascio non appena esce dalla pipeline.
Maggiori informazioni sui vantaggi dei principi agili.
DevOps e fornitura continua
Negli ultimi due decenni, lo sviluppo del software ha subito cambiamenti significativi, passando dal concetto a cascata standard alla metodologia agile più efficiente. Per adattarsi, è necessario passare a un approccio incentrato su agile, DevOps e fornitura continua. Nell'ambito di una pipeline di fornitura continua, questi processi mirati consentono release e aggiornamenti del software più affidabili e di alta qualità.
Man mano che lo sviluppo agile consente release del software più rapide e di dimensioni più ridotte, l'attenzione si concentra sui singoli stadi di sviluppo del software. Al contempo, DevOps consente di concentrarsi sul "quadro generale" e sul cambiamento culturale, in quanto i dipartimenti sviluppo e operazioni si fondono strettamente in un unico team che lavora sull'intero ciclo di vita dello sviluppo del software, dalla codifica ai test, dalla distribuzione al supporto.
Per i dettagli del processo DevOps, guarda il video qui sotto:
IBM Continuous Delivery è un cloud service che aiuta il provisioning di toolchain, l'automatizzazione di build e test e il controllo qualità con l'analytics.
La famiglia di prodotti software IBM UrbanCode aiuta a distribuire software sul mercato più rapidamente accelerando la consegna delle applicazioni e riducendo i processi manuali.
Crea pipeline CI/CD native per Kubernetes con la massima velocità e flessibilità.
DevOps accelera la consegna di software di qualità superiore combinando e automatizzando il lavoro dei team di sviluppo software e delle operazioni IT.
L'integrazione continua è un processo di sviluppo iterativo in cui gli sviluppatori integrano il nuovo codice nella base di codice almeno una volta al giorno.
Guida pratica alla pipeline di integrazione continua/fornitura continua (CI/CD).