Domande frequenti su AWS CodePipeline

Domande generali

AWS CodePipeline è un servizio di distribuzione continua che consente di modellare, visualizzare e automatizzare le fasi necessarie al rilascio di software. Con AWS CodePipeline, è possibile modellare l'intero processo di rilascio in modo da creare una build, distribuirla negli ambienti di preproduzione, testare l'applicazione e rilasciarla in produzione. AWS CodePipeline creerà, testerà e distribuirà l'applicazione in base al flusso di lavoro definito ogni volta che è presente una modifica al codice. Si possono integrare strumenti di partner e strumenti personalizzati in qualunque fase del processo di rilascio per formare una soluzione di distribuzione continua completa.

AWS CodePipeline, automatizzando i processi di compilazione, test e rilascio, ti consente di aumentare la rapidità e la qualità dei tuoi aggiornamenti di software eseguendo nuove modifiche tramite un gruppo coerente di controlli di qualità.

La distribuzione continua è un metodo di sviluppo software in cui le modifiche al codice vengono applicate a una build, testate e preparate per il rilascio in produzione in modo automatico. AWS CodePipeline è un servizio che aiuta a mettere in pratica sistemi di distribuzione continua. Per ulteriori informazioni sulla distribuzione continua, consulta questa pagina.

Concetti

Una pipeline è una struttura di flusso di lavoro che descrive in che modo le modifiche di un software passano attraverso il processo di rilascio. Il flusso di lavoro viene definito con una sequenza di fasi e operazioni.

Una revisione è una modifica apportata nel percorso di origine definito per la pipeline. Può includere codice sorgente, output di build, configurazione o dati. Una pipeline può avere più revisioni in corso nello stesso momento.

Una fase è un gruppo composto da una o più operazioni. Una pipeline può avere due o più fasi.

Un'operazione è un'attività effettuata su una revisione. Le operazioni nella pipeline sono disposte in un ordine specifico, in seriale o in parallelo, secondo quanto stabilito nella configurazione di ciascuna fase. Per ulteriori informazioni, consulta le pagine Edit a Pipeline e Action Structure Requirements in AWS CodePipeline.

Quando un'operazione è in esecuzione, agisce su un file o un gruppo di file. Questi file sono chiamati artefatti. Questi artefatti possono essere modificati da ulteriori operazioni successive nell'ambito della pipeline. Ad esempio, un'operazione sorgente darà vita all'ultima versione del codice sotto forma di artefatto sorgente, da cui prenderà il via l'operazione di creazione di build. Dopo la compilazione, l’operazione di build carica l’output di build come un altro elemento, che verrà letto da ulteriori operazioni di distribuzione.

Le fasi di una pipeline sono collegate da transizioni e sono rappresentate da frecce nella console di AWS CodePipeline. Le revisioni che completano correttamente le operazioni in una fase verranno inviate automaticamente alla fase successiva come indicato dalla freccia di transizione. Le transizioni possono essere disattivate o attivate fra le fasi.

Utilizzo di AWS CodePipeline

Per iniziare a utilizzare il servizio è sufficiente accedere alla Console di gestione AWS e creare una pipeline. Per una presentazione di AWS CodePipeline, consulta le nozioni di base, che includono tutorial dettagliati. 

Dopo la sua creazione, una pipeline attiverà automaticamente un'esecuzione per rilasciare la versione più recente del codice sorgente. Da quel momento in avanti, ogni volta che viene apportata una modifica al percorso di origine, viene attivata una nuova esecuzione. Inoltre, è possibile inoltrare nuovamente l'ultima revisione attraverso una pipeline utilizzando il pulsante Release Change nella console della pipeline.

Per arrestare una pipeline, è necessario disabilitare una transizione tra due fasi. Una volta completata questa operazione, la pipeline continuerà a inoltrare le revisioni attraverso le operazioni, senza però farle progredire oltre la transizione disattivata. Per ulteriori dettagli, consulta la pagina Disable or Enable Transitions in AWS CodePipeline.

Sì. Si può utilizzare la console di AWS CodePipeline o la CLI di AWS per aggiungere o eliminare fasi in una pipeline, oltre ad aggiungere, modificare o eliminare operazioni in una fase.

Sì. È possibile utilizzare il comando get-pipeline dell'interfaccia a riga di comando di AWS per ottenere la struttura JSON di una pipeline esistente. A questo punto si può usare quella struttura JSON e il comando della CLI di AWS create-pipeline per creare una nuova pipeline con la stessa struttura di quella esistente.

Sì. Si possono configurare una o più operazioni da eseguire in parallelo per qualunque fase.

È possibile rilasciare aggiornamenti in un'applicazione serverless includendo il modello AWS Serverless Application Model e i relativi file nel proprio repository di codice sorgente. AWS CodeBuild può essere inserito nella pipeline per creare pacchetti di codice da distribuire. È quindi possibile utilizzare le operazioni di AWS CloudFormation per creare un set di modifiche e distribuire l'applicazione serverless. È anche possibile scegliere di ampliare il flusso di lavoro con ulteriori fasi, ad esempio approvazioni manuali o test automatizzati. Per ulteriori informazioni, consulta questa pagina.

AWS CodePipeline e AWS CloudFormation consentono di utilizzare la distribuzione continua per creare e testare in maniera automatica le modifiche degli stack di AWS CloudFormation prima di promuoverli a stack di produzione. Questo processo di rilascio permette di apportare modifiche in maniera rapida e affidabile all'infrastruttura AWS. Il flusso di lavoro può essere ampliato con operazioni aggiuntive quali fasi di approvazione manuale, operazioni di test o chiamate a operazioni AWS Lambda. Per ulteriori dettagli, consulta la pagina Continuous Delivery with AWS CloudFormation.

AWS CodePipeline si integra con servizi AWS quali AWS CodeCommit, Amazon S3, AWS CodeBuild, AWS CodeDeploy, AWS Elastic Beanstalk, AWS CloudFormation, AWS OpsWorks, Amazon ECS e AWS Lambda. Inoltre, AWS CodePipeline si integra con numerosi strumenti di partner. Per ulteriori informazioni, consulta la pagina Integrazioni del prodotto. Infine, CodePipeline permette di creare operazioni personalizzate e integrare qualunque strumento esistente. Per ulteriori dettagli sulle operazioni personalizzate, consulta la pagina Create and Add a Custom Action in AWS CodePipeline.

Sì. Per visionare uno storico delle chiamate API AWS CodePipeline effettuate sull'account per analisi di sicurezza e risoluzione dei problemi, è sufficiente attivare AWS CloudTrail nella Console di gestione AWS. Per ulteriori informazioni, consulta la pagina Logging AWS CodePipeline API calls by Using AWS CloudTrail.

Per informazioni sulle restrizioni al servizio, consulta la relativa pagina.

Puoi creare notifiche per eventi che incidono sulle pipeline. Le notifiche avranno il formato delle notifiche di Amazon SNS. Ogni notifica includerà un messaggio sullo stato e un link alle risorse il cui evento ha generato la notifica in questione. Le notifiche non hanno costi aggiuntivi, ma potrebbero essere addebitati costi per altri servizi AWS utilizzati dalle notifiche, tra cui Amazon SNS. Per ulteriori informazioni sull'attivazione delle notifiche, consulta la guida per l'utente sulle notifiche. Inoltre, i clienti che utilizzano AWS Chatbot possono configurare l'invio di notifiche ai canali Slack o alle chat room di Amazon Chime. Per ulteriori dettagli, fai clic qui.

Partner

Se desideri diventare un partner AWS il cui servizio di sviluppo si integra con AWS CodePipeline, contattara [email protected].

Sicurezza

Sì. AWS CodePipeline supporta le autorizzazioni a livello di risorsa. È possibile specificare quali utenti possono eseguire determinate operazioni in una pipeline. Ad esempio, è possibile fornire agli utenti accesso in sola lettura a una pipeline, per permettere loro di visionarne lo stato senza poterla modificare. Inoltre, è possibile assegnare autorizzazioni per ciascuna operazione o fase. Per ulteriori informazioni sull'utilizzo di IAM con AWS CodePipeline, consulta la pagina Access Permissions Reference.

Sì. È possibile creare un ruolo IAM nell'account AWS proprietario della pipeline per delegare l'accesso alla pipeline e a qualsiasi altra risorsa correlata per un utente IAM in un altro account AWS. Per un tutorial guidato su come abilitare l'accesso da un account differente, consulta le pagine Walkthrough: Delegating Access Across AWS Accounts For Accounts You Own Using IAM Roles e Configure Cross-Account Access to a Pipeline.

Regioni

Per informazioni sulla disponibilità di CodePipeline, consulta la sezione relativa a prodotti e servizi per regione.

Fatturazione

Per informazioni sui costi di AWS CodePipeline, consulta la pagina dei prezzi.