View a markdown version of this page

Iniziare da una pipeline minima funzionante per l'integrazione continua - Praticare l'integrazione e la consegna continue in AWS

Iniziare da una pipeline minima funzionante per l'integrazione continua

Il percorso dell'organizzazione verso la consegna continua inizia con una pipeline minima funzionante (MVP, Minimun Viable Pipeline). Come discusso nella sezione Implementazione dell'integrazione e della consegna continue, i team possono iniziare con un processo molto semplice, come l'implementazione di una pipeline che esegue un controllo dello stile del codice o un singolo unit test senza implementazione.

Un componente chiave è lo strumento di orchestrazione della consegna continua. Per aiutarti a creare questa pipeline, Amazon ha sviluppato AWS CodeStar.

Pagina di configurazione di AWS CodeStar

AWS CodeStar utilizza AWS CodePipeline, AWS CodeBuild, AWS CodeCommit e AWS CodeDeploy con un processo di configurazione, strumenti, modelli e pannello di controllo integrati. AWS CodeStar ti fornisce tutto ciò che ti serve per iniziare rapidamente a sviluppare, creare e distribuire applicazioni in AWS. In questo modo, puoi iniziare a rilasciare il codice più velocemente. I clienti che hanno già familiarità con Console di gestione AWS e cercano un livello di controllo più elevato possono configurare manualmente i loro strumenti di sviluppo preferiti ed effettuare il provisioning dei singoli servizi AWS in base alle loro esigenze.

Pannello di controllo di AWS CodeStar

AWS CodePipeline è un servizio di CI/CD che può essere utilizzato tramite AWS CodeStar o tramite la Console di gestione AWS per aggiornamenti rapidi e affidabili dell'applicazione e dell'infrastruttura. AWS CodePipeline compila, testa e implementa il codice ogni volta che questo viene modificato, in base ai modelli del processo di rilascio definiti. Questo ti permette di distribuire in modo rapido e affidabile funzionalità e aggiornamenti. Puoi creare una soluzione end-to-end con la massima semplicità impiegando i plug-in preinstallati di servizi di terze parti quali GitHub oppure integrando i tuoi plug-in personalizzati in qualsiasi fase del processo di rilascio. Con AWS CodePipeline, paghi solo per i servizi che utilizzi. Non sono previste tariffe iniziali né impegni a lungo termine.

Le fasi di AWS CodeStar e AWS CodePipeline mappano direttamente alle fasi di origine, compilazione, gestione temporanea e produzione della pipeline CI/CD. Sebbene sia auspicabile la consegna continua, è possibile iniziare con una semplice pipeline in due fasi che controlla il repository del codice sorgente ed esegue un'operazione di compilazione:

AWS CodePipeline - fasi di origine e di compilazione

Per AWS CodePipeline, la fase di origine può accettare gli input da GitHub, AWS CodeCommit e Amazon Simple Storage Service (Amazon S3). L'automazione del processo di compilazione è un primo passaggio fondamentale per l'implementazione della consegna continua e il passaggio all'implementazione continua. L'eliminazione dell'intervento umano nella produzione di artefatti di compilazione toglie un peso al tuo team, riduce al minimo gli errori introdotti dalla creazione manuale dei pacchetti e consente di iniziare a preparare gli artefatti di consumo con maggiore frequenza.

AWS CodePipeline funziona perfettamente con AWS CodeBuild, un servizio di compilazione completamente gestito, per semplificare la configurazione di una fase di compilazione all'interno della pipeline che crea pacchetti di codice ed esegue unit test. Con AWS CodeBuild, non è necessario effettuare il provisioning, gestire o dimensionare i propri server di sviluppo. AWS CodeBuild ridimensiona continuamente ed elabora più build in contemporanea in modo che le build non vengano lasciate in attesa nella coda. AWS CodePipeline si integra inoltre con server di sviluppo come Jenkins, Solano CI e TeamCity.

Ad esempio, nella successiva fase di compilazione, vengono eseguite in parallelo tre operazioni (unit test, controlli dello stile del codice e raccolta dei parametri del codice). Con AWS CodeBuild, questi passaggi possono essere aggiunti come nuovi progetti senza ulteriori sforzi durante la compilazione o l'installazione dei server di sviluppo per la gestione del carico.

AWS CodePipeline - funzionalità di compilazione

Le fasi di origine e di compilazione mostrate nella figura AWS CodePipeline - fasi di origine e di compilazione, insieme ai processi e all'automazione sottostanti, supportano la transizione del team verso l'integrazione continua. A questo livello di maturità, gli sviluppatori devono prestare regolarmente attenzione ai risultati della compilazione e dei test. Devono anche creare e mantenere una base di unit test integra. Ciò, a sua volta, rafforza la fiducia dell'intero team nella pipeline CI/CD e ne promuove l'adozione.

Fasi di AWS CodePipeline