Domande generali

D: Cos'è AWS CodePipeline?
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. Il servizio creerà build, testerà e distribuire l'applicazione in base al flusso di lavoro definito ogni volta che è presente una modifica al codice. È possibile integrare strumenti di partner e personalizzati in qualunque fase del processo, per dare vita a una soluzione di distribuzione continua completa.

D: Qual è il vantaggio di utilizzare AWS CodePipeline?
AWS CodePipeline, automatizzando i processi di creazione di build, test e rilascio, permette di migliorare frequenza e qualità degli aggiornamenti software apportando nuove modifiche tramite un set uniforme di controlli di qualità.
 
D: Cosa si intende per distribuzione continua?
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.

Nozioni di base

Il diagramma di seguito rappresenta le nozioni descritte in questa sezione.

CodePipeline_Elements
D: Cos'è una pipeline?
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.

D: Che cos'è una revisione?
Una revisione è una modifica apportata nel percorso di origine definito per la pipeline. Può includere codice sorgente, output di build, configurazione o dati. In una pipeline possono essere presenti simultaneamente diverse revisioni.
 
D: Cos'è una fase?
Una fase è un gruppo composto da una o più operazioni. Una pipeline è composta da due o più fasi.
 
D: Che cos'è un'operazione?
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.
 
D: Cos'è un artefatto?
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 creazione di build caricherà il risultato come nuovo artefatto, che verrà letto da ulteriori operazioni di distribuzione.
 
D: Cos'è una transizione?
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 tra le diverse fasi possono essere disattivate o attivate.

Utilizzo di AWS CodePipeline

D: Come si inizia a usare 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. In alternativa, consulta lo starter kit di Pipeline per effettuare il provisioning di una pipeline di rilascio preconfigurata con un server di build Jenkins tramite un modello AWS CloudFormation.
 
D: In che modo è possibile avviare una pipeline?
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.
 
D: In che modo è possibile arrestare una 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.
 
D: È possibile modificare una pipeline esistente?
Sì. È possibile aggiungere o eliminare fasi in una pipeline e aggiungere, modificare o eliminare operazioni in una fase tramite console di AWS CodePipeline e interfaccia a riga di comando.
 
D: È possibile creare una copia di una pipeline esistente?
Sì. È possibile utilizzare il comando get-pipeline dell'interfaccia a riga di comando di AWS per ottenere la struttura JSON di una pipeline esistente. Tale struttura JSON può quindi essere utilizzata con il comando create-pipeline per creare una nuova pipeline.
 
D: È possibile eseguire operazioni in parallelo?
Sì. È possibile configurare una o più operazioni da eseguire in parallelo in qualunque fase.
 
D: Come si effettua la distribuzione continua di applicazioni serverless e di funzioni AWS Lambda?
È 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.
 
D: In che modo è possibile allocare e gestire risorse AWS tramite un processo di flusso di di lavoro di rilascio?
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.
 
D: Quali integrazioni di prodotti sono disponibili con AWS CodePipeline?
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 di Pipeline. 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.
 
D: È possibile consultare uno storico delle chiamate API 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.
 
D: Quali restrizioni sono previste all'utilizzo di AWS CodePipeline?
Per informazioni sulle restrizioni al servizio, consulta la relativa pagina.
 
 

Partner

D: Quali operazioni è necessario eseguire per completare l'integrazione con AWS CodePipeline?
Se desideri diventare un partner AWS il cui servizio di sviluppo si integra con AWS CodePipeline, contattara codepipeline-request@amazon.com.

Sicurezza

D: È possibile utilizzare AWS Identity and Access Management (IAM) per gestire l'accesso ad AWS CodePipeline?
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.

D: È possibile abilitare l'accesso a una pipeline in un account AWS da parte di un utente IAM in un altro account AWS?
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

D: In quali regioni è disponibile AWS CodePipeline?
Per informazioni sulla disponibilità di CodePipeline, consulta la sezione relativa a prodotti e servizi per regione.

Fatturazione

D: Quanto costa AWS CodePipeline?
Per informazioni sui costi di AWS CodePipeline, consulta la pagina dei prezzi.

Ulteriori informazioni sui prezzi di AWS CodePipeline

Visita la pagina dei prezzi
Ti senti pronto?
Come si inizia a usare AWS CodePipeline?
Hai altre domande?
Contattaci