Home

topics

Fornitura continua

Che cos'è la fornitura continua?
Esplora la soluzione di fornitura continua di IBM Iscriviti per ricevere gli aggiornamenti sull'AI
Illustrazione con collage di pittogrammi di ingranaggi, braccio robotico, telefono cellulare
Che cos'è la fornitura continua?

La fornitura continua consente ai team di sviluppo di automatizzare il processo che fa avanzare il software lungo il ciclo di vita del suo sviluppo.

La fornitura continua può offrire molti vantaggi nel provisioning di una toolbox integrata, tra cui:

  • Ridurre i tempi di implementazione attraverso test e sviluppo continui.

  • Ridurre i costi connessi allo sviluppo software tradizionale.

  • Scalare lo sviluppo del software in base alle dimensioni del progetto.

  • Distribuire automaticamente il codice in ogni fase del ciclo di sviluppo.
Total Economic Impact di IBM Robotic Process Automation

Consulta un'analisi dei costi e dei benefici di IBM Robotic Process Automation (RPA).

Contenuti correlati Registrati per ricevere la guida sull'osservabilità
Le procedure migliori di fornitura continua

Quando si utilizza la fornitura continua, potrebbe essere opportuno prendere in considerazione questo insieme di best practice:

  • Rendi rilasciabili tutte le modifiche: se si utilizza la fornitura continua per rendere rilasciabili tutte le modifiche, occorre includere documentazione utente, runbook operativi e informazioni sulle modifiche, a fini di verifica.

  • Adotta lo sviluppo basato su trunk: la fornitura continua si basa sull'integrazione continua. Evita rami che ritardano il più possibile l'integrazione in modo che ogni modifica venga creata, testata e distribuita insieme per un feedback più rapido.

  • Distribuisci tramite una pipeline automatizzata: per implementare con successo la fornitura continua, è necessaria una delivery pipeline automatizzata e ben costruita, per garantire che tutte le versioni del codice vengano spostate negli ambienti di test e di produzione in modo coerente.

  • Automatizza il più possibile: nella fornitura continua, è necessario automatizzare il maggior numero possibile di processi nel ciclo di vita dello sviluppo del software. Questa automazione crea una delivery pipeline valida e affidabile, non solo per le build e le distribuzioni del codice, ma anche per la creazione di nuovi ambienti di sviluppo.

  • Evita tempi di inattività: per garantire la disponibilità dell'applicazione mentre si effettuano aggiornamenti frequenti e continui, quando si invia una nuova funzione alla produzione, è necessario convalidarla prima di distribuirla all'istanza pubblica dell'applicazione in esecuzione.

  • Release alla quantità dei dettagli del test: se due parti di un sistema devono essere testate insieme, devono essere rilasciate insieme in modo da verificare che le parti del sistema siano compatibili. Gli strumenti di automazione della release sono efficaci per coordinare questo tipo di consegna. In alternativa, occorre disaccoppiare completamente.
Pipeline/framework continuo

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:

  • Job della build: compila il progetto nel job della build per prepararti alla distribuzione, dove è possibile generare artefatti da inviare a una directory di archiviazione della build.

  • Distribuisci processi: carica il progetto nella pipeline di fornitura continua come applicazione a cui puoi accedere da un URL. Dopo aver distribuito il progetto, lo visualizzerai nella dashboard.

  • Job di prova: personalizza e includi i job di prova prima o dopo la creazione e la distribuzione dei job in base alla tua suite di test unitari o test funzionali con servizi di test di terza parte.

La pipeline di fornitura continua può aiutare i team di sviluppo a:

  • Automatizza le build, i test unitari e la distribuzione.

  • Modifica e invia codice utilizzando i repository del Git, il tracciamento dei problemi e l'IDE (Integrated Development Environment) basato sul web.

  • Creare una toolbox integrata DevOps per creare, distribuire e gestire le app con servizi, strumenti open source e strumenti di terze parti.

  • Modifica il tuo codice ovunque tu scelga di utilizzare l'IDE per creare, modificare, eseguire, eseguire il debug e completare attività di controllo del codice sorgente.

  • Usa la pipeline automatizzata per fornire continuamente build, prove e implementazioni in modo ripetibile.

  • Migliora la qualità comprendendo lo stato della build, i risultati della scansione di sicurezza, l'apertura del codice e il completamento test in modo da poter valutare se promuovere l'app nell'ambiente successivo (tramite politiche per garantire automaticamente la qualità prima della promozione).
Distribuzione continua e fornitura continua

La distribuzione continua può far parte di una pipeline di fornitura continua. Nello specifico, la fornitura continua è lo spostamento automatico del codice nel ciclo di vita dello sviluppo, a volte definito ciclo di vita di consegna. La distribuzione continua è il passaggio automatico di quel codice in produzione, una volta superati i test automatizzati richiesti.

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:

Strumenti di fornitura continua

Uno strumento di fornitura continua ti 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 team operativo.

La tua toolbox può includere servizi cloud e strumenti open source e di terze parti già presenti, ma è opportuno anche prendere in considerazione uno strumento di fornitura continua che includa:

  • Modelli ripetibili per l'automazione della build e della distribuzione. Se funziona per una delle app, dovrebbe funzionare anche per altre. Non lasciare il team in difficoltà con la configurazione in autonomia.

  • Una pipeline, che consente di creare automaticamente quando apporti modifiche, distribuire nel cloud, incorporare build e implementazioni nelle toolchain e gestire le implementazioni nella toolchain.

  • Strumenti per la collaborazione del team, la pianificazione, la gestione del codice sorgente e i test.

  • Strumenti che evidenzino i punti in cui il team si muove rapidamente e quelli in cui si blocca, fornendo una guida per diventare "più continui".

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.

Agile e DevOps

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 metodo per produrre software in brevi iterazioni seguendo un programma di fornitura continua. L'attuale processo di fornitura continua Agile si basa sulla possibilità di rilasciare il codice al cliente non appena ogni funzione 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.

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 adottare 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. Questo approccio unisce lo sviluppo e le operazioni in un unico team. Questo team lavora sull'intero ciclo di vita dello sviluppo del software, dalla programmazione ai test, fino alla distribuzione e al supporto.

Per maggiori informazioni su DevOps, guarda il video:

Soluzioni correlate
IBM Cloud Continuous Delivery

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.

Esplora IBM Cloud Continuous Delivery
IBM UrbanCode

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.

Esplora IBM UrbanCode
Tekton on IBM Cloud

Crea pipeline CI/CD native per Kubernetes con la massima velocità e flessibilità.

Esplora Tekton on IBM Cloud
Risorse Cos'è DevOps?

DevOps accelera la distribuzione di software di qualità superiore combinando e automatizzando il lavoro dei team di sviluppo software e delle operazioni IT.

Che cos'è l'integrazione continua?

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.

Che cosa sono l'IR/CD e la pipeline CI/CD?

Guida pratica alla pipeline di integrazione continua/fornitura continua (CI/CD).

Fai il passo successivo

Vuoi avviare DevOps? Per fornire software e servizi alla velocità richiesta dal mercato, i team devono iterare e sperimentare rapidamente, distribuire frequentemente nuove versioni ed essere guidati dal feedback e dai dati. I team di sviluppo cloud di maggior successo adottano cultura e pratiche DevOps moderne, architetture cloud-native e assemblano toolchain a partire dagli strumenti migliori della categoria per liberare la propria produttività.

Esplora le soluzioni DevOps Prova senza alcun costo