La continuous delivery automatizza i cambiamenti in più ambienti

Share post

Tempo di lettura: 3 min.
Continua da QUI
La continuous delivery è l’automazione che spinge le applicazioni verso gli ambienti di delivery. La maggior parte dei team di sviluppo hanno tipicamente uno o più ambienti di sviluppo e di test in cui le modifiche delle applicazioni vengono messe in atto per il test e la revisione. Uno strumento CI/CD come Jenkins, CircleCI, AWS CodeBuild, AWS CodeBuild, Azure DevOps, Atlassian Bamboo o Travis CI viene utilizzato per automatizzare le fasi e fornire la reportistica.

Una tipica pipeline CD ha fasi di costruzione, test e distribuzione. Le pipeline più sofisticate includono molte di queste fasi:

  • Estrarre il codice dal controllo di versione ed eseguire una build.
  • L’esecuzione di qualsiasi fase dell’infrastruttura richiesta che viene automatizzata come codice per tirare su o giù l’infrastruttura cloud.
  • Spostare il codice nell’ambiente di calcolo di destinazione.
  • Gestire le variabili d’ambiente e configurarle per l’ambiente di destinazione.
  • Pushando i componenti dell’applicazione ai loro servizi appropriati, come server web, servizi API e servizi di database.
  • Esecuzione di tutti i passi necessari per riavviare i servizi o chiamare gli endpoint di servizio necessari per nuovi push di codice.
  • Esecuzione di test continui e di ambienti di rollback se i test falliscono.
  • Fornire dati di log e avvisi sullo stato del delivery.

Come esempio, gli utenti Jenkins definiscono le loro pipeline in un Jenkinsfile che descrive diverse fasi come la costruzione, il test e l’implementazione. Le variabili ambientali, le opzioni, le chiavi segrete, le certificazioni e altri parametri sono dichiarati nel file e poi referenziati in fasi. La sezione del post gestisce le condizioni di errore e le notifiche.

I CD più sofisticati possono avere altri passaggi come l’esecuzione delle sincronizzazioni dei dati, l’archiviazione delle risorse informative, o l’esecuzione di patch di applicazioni e librerie. Gli strumenti CI/CD in genere supportano un mercato di plug-in. Ad esempio, Jenkins elenca più di 1.500 plug-in che supportano l’integrazione con piattaforme di terze parti, l’interfaccia utente, l’amministrazione, la gestione del codice sorgente e la gestione della costruzione.

Una volta selezionato uno strumento CI/CD, i team di sviluppo devono assicurarsi che tutte le variabili di ambiente siano configurate al di fuori dell’applicazione. Gli strumenti CI/CD permettono di impostare queste variabili, di mascherare variabili come password e chiavi di conto e di configurarle al momento della distribuzione per l’ambiente di destinazione.

Gli strumenti CD forniscono anche funzioni di dashboard e di reporting. Se le build o le delivery falliscono, avvisano gli sviluppatori con informazioni sui problemi. Si integrano con il controllo di versione e con strumenti agile, in modo da poterli utilizzare per cercare quali modifiche al codice e quali storie di utenti hanno costituito una build.