Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crea una pipeline, fasi e azioni
È possibile utilizzare la AWS CodePipeline console o il AWS CLI per creare una pipeline. Le pipeline devono avere almeno due fasi. La prima fase di una pipeline deve essere una fase di origine. La pipeline deve avere almeno un'altra fase che è una fase di compilazione o distribuzione.
Importante
Come parte della creazione di una pipeline, un bucket di artefatti S3 fornito dal cliente verrà utilizzato da for artifacts. CodePipeline (Questo è diverso dal bucket utilizzato per un'azione sorgente S3). Se il bucket di artefatti S3 si trova in un account diverso dall'account della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di persone sicure e affidabili. Account AWS
Puoi aggiungere azioni alla tua pipeline che si trovano in una pipeline diversa dalla tua pipeline. Regione AWS Un'azione interregionale è un'azione in cui un Servizio AWS è il fornitore di un'azione e il tipo di azione o il tipo di provider si trovano in una AWS regione diversa dalla pipeline. Per ulteriori informazioni, consulta Aggiungi un'azione interregionale in CodePipeline.
Puoi anche creare pipeline per creare e distribuire applicazioni basate su container utilizzando Amazon ECS come fornitore di distribuzione. Prima di creare una pipeline che distribuisca applicazioni basate su container con Amazon ECS, devi creare un file di definizioni delle immagini come descritto in. Riferimento per il file di definizioni delle immagini
CodePipeline utilizza metodi di rilevamento delle modifiche per avviare la pipeline quando viene inviata una modifica al codice sorgente. Questi metodi di rilevamento sono basati sul tipo di origine:
-
CodePipeline utilizza Amazon CloudWatch Events per rilevare le modifiche nel repository e nella filiale di CodeCommit origine o nel bucket di origine S3.
Nota
Quando utilizzi la console per creare o modificare una pipeline, le risorse di rilevamento delle modifiche vengono create automaticamente. Se utilizzi la AWS CLI per creare la pipeline, devi creare tu stesso le risorse aggiuntive. Per ulteriori informazioni, consulta CodeCommit azioni di origine e EventBridge.
Argomenti
Crea una pipeline personalizzata (console)
Per creare una pipeline personalizzata nella console, devi fornire la posizione del file di origine e le informazioni sui provider che utilizzerai per le tue azioni.
Quando si utilizza la console per creare una pipeline, occorre includere una fase di origine e una o entrambe le fasi seguenti:
-
Una fase di compilazione.
-
Una fase di distribuzione.
Quando utilizzate la procedura guidata della pipeline, CodePipeline crea i nomi delle fasi (source, build, staging). Questi nomi non possono essere modificati. È possibile utilizzare nomi più specifici (ad esempio, BuildToGamma o DeployToProd) per le fasi aggiunte successivamente.
Fase 1: creare e assegnare un nome alla pipeline
Accedi Console di gestione AWS e apri la CodePipeline console all'indirizzo http://console.aws.amazon.com/codesuite/codepipeline/home
. -
Nella pagina Welcome (Benvenuto), seleziona Create pipeline (Crea pipeline).
Se è la prima volta che lo usi CodePipeline, scegli Inizia.
-
Nella pagina Fase 1: Scegli l'opzione di creazione, in Opzioni di creazione, scegli l'opzione Crea pipeline personalizzata. Scegli Avanti.
-
Nella pagina Step 2: Choose pipeline settings, in Pipeline name, inserisci il nome della tua pipeline.
In un unico AWS account, ogni pipeline creata in una AWS regione deve avere un nome univoco. I nomi possono essere riutilizzati per pipeline in regioni diverse.
Nota
Non è possibile modificare il nome di una pipeline dopo che è stata creata. Per informazioni su altre limitazioni, consulta Quote in AWS CodePipeline.
-
In Tipo di pipeline, scegli una delle seguenti opzioni. I tipi di pipeline si differenziano per caratteristiche e prezzo. Per ulteriori informazioni, consulta Tipi di pipeline.
-
Le pipeline di tipo V1 hanno una struttura JSON che contiene parametri standard di pipeline, stage e livello di azione.
-
Le pipeline di tipo V2 hanno la stessa struttura di un tipo V1, oltre al supporto di parametri aggiuntivi, come i trigger sui tag Git e le variabili a livello di pipeline.
-
-
In Service role (Ruolo del servizio), procedere in uno dei seguenti modi:
-
Scegli Nuovo ruolo di servizio per consentire la creazione di un nuovo ruolo di servizio CodePipeline in IAM.
-
Scegli Existing service role (Ruolo di servizio esistente) per usare un ruolo del servizio già creato in IAM. In Role ARN (ARN del ruolo), scegliere l'ARN del ruolo del servizio dall'elenco.
Nota
A seconda di quando è stato creato il ruolo di servizio, potrebbe essere necessario aggiornarne le autorizzazioni per supportarne altre Servizi AWS. Per informazioni, consulta Aggiungi le autorizzazioni al ruolo del servizio CodePipeline.
Per ulteriori informazioni sul ruolo del servizio e la relativa dichiarazione di policy, consulta Gestisci il ruolo del CodePipeline servizio.
-
-
(Facoltativo) In Variabili, scegli Aggiungi variabile per aggiungere variabili a livello di pipeline.
Per ulteriori informazioni sulle variabili a livello di pipeline, vedere. Riferimento alle variabili Per un tutorial con una variabile a livello di pipeline che viene passata al momento dell'esecuzione della pipeline, vedere. Tutorial: Usa variabili a livello di pipeline
Nota
Sebbene sia facoltativo aggiungere variabili a livello di pipeline, per una pipeline specificata con variabili a livello di pipeline in cui non viene fornito alcun valore, l'esecuzione della pipeline avrà esito negativo.
-
(Facoltativo) Espandi Advanced settings (Impostazioni avanzate).
-
In Artifact store (Archivio di artefatti), esegui una delle seguenti operazioni:
-
Scegliete Posizione predefinita per utilizzare l'archivio di artefatti predefinito, ad esempio il bucket di artefatti S3 designato come predefinito, per la pipeline nella posizione selezionata per la pipeline. Regione AWS
-
Scegliere Custom location (Posizione personalizzata) se si dispone già di uno store di artefatti, ad esempio un bucket S3 dedicato agli artefatti, nella stessa regione della pipeline. In Bucket, scegli il nome del bucket.
Nota
Non si tratta del bucket di origine per il codice sorgente, ma dell'archivio artefatti per la pipeline. È richiesto un archivio artefatti separato, ad esempio un bucket S3, per ogni pipeline. Quando create o modificate una pipeline, dovete avere un bucket di artefatti nella regione della pipeline e un bucket di artefatti per ogni regione in cui state eseguendo un'azione. AWS
Per ulteriori informazioni, consulta Artefatti di input e output e CodePipeline riferimento alla struttura della pipeline.
-
-
Per Encryption key (Chiave di crittografia), esegui una delle operazioni seguenti:
-
Per utilizzare l' CodePipeline impostazione predefinita per AWS KMS key crittografare i dati nell'archivio degli artifact della pipeline (bucket S3), scegli Chiave gestita predefinita. AWS
-
Per utilizzare la chiave gestita dal cliente per crittografare i dati nel pipeline artifact store (bucket S3), scegli Customer Managed Key. Scegli l'ID della chiave, l'ARN della chiave o l'alias ARN.
-
-
Scegli Avanti.
Fase 2: creare una fase di origine
-
Nella pagina Step 3: Add source stage, in Source provider, scegli il tipo di repository in cui è archiviato il codice sorgente, specifica le opzioni richieste. I campi aggiuntivi vengono visualizzati in base al provider di origine selezionato come segue.
-
Per Bitbucket Cloud, GitHub (tramite GitHub app), GitHub Enterprise Server o GitLab.com GitLab autogestito:
-
In Connessione, scegli una connessione esistente o creane una nuova. Per creare o gestire una connessione per l'azione GitHub sorgente, consultaGitHub connessioni.
-
Scegli il repository che desideri utilizzare come posizione di origine per la pipeline.
Scegli di aggiungere un trigger o un filtro sui tipi di trigger per avviare la pipeline. Per ulteriori informazioni sull'utilizzo dei trigger, consulta. Aggiungi trigger con tipi di eventi push o pull request di codice Per ulteriori informazioni sul filtraggio con pattern glob, vedere. Lavorare con i modelli a globo nella sintassi
-
Nel formato Output artifact, scegli il formato per i tuoi artefatti.
-
Per memorizzare gli artefatti di output dell' GitHub azione utilizzando il metodo predefinito, scegli default. CodePipeline L'azione accede ai file dal GitHub repository e archivia gli artefatti in un file ZIP nel pipeline artifact store.
-
Per archiviare un file JSON contenente un riferimento URL al repository in modo che le operazioni downstream possano eseguire direttamente comandi Git, scegliere Full clone (Clone completo). Questa opzione può essere utilizzata solo da operazioni downstream di CodeBuild .
Se scegli questa opzione, dovrai aggiornare le autorizzazioni per il tuo ruolo di servizio di progetto, come mostrato in. CodeBuild Risoluzione dei problemi CodePipeline Per un tutorial che mostra come utilizzare l'opzione Full clone, consulta. Tutorial: Usa un clone completo con una fonte di GitHub pipeline
-
-
-
Per Amazon S3:
-
In Amazon S3 location (Percorso Amazon S3), fornisci il nome e il percorso del bucket S3 all'oggetto in un bucket con abilitata la funzione Versioni multiple. Il formato del nome e del percorso del bucket è simile al seguente:
s3://bucketName/folderName/objectNameNota
Se Amazon S3 è il fornitore di origine per la tua pipeline, puoi comprimere il file o i file sorgente in un unico file .zip e caricarlo nel bucket di origine. È inoltre possibile caricare un singolo file decompresso; tuttavia, le operazioni a valle che si aspettano un file con estensione .zip avranno esito negativo.
-
Dopo aver scelto il bucket di origine S3, CodePipeline crea la regola Amazon CloudWatch Events e il AWS CloudTrail percorso da creare per questa pipeline. Accettare le impostazioni predefinite in Change detection options (Opzioni di rilevamento delle modifiche). Ciò consente di CodePipeline utilizzare Amazon CloudWatch Events e di rilevare AWS CloudTrail le modifiche per la nuova pipeline. Scegli Avanti.
-
-
Per AWS CodeCommit:
-
In Nome del repository, scegli il nome del CodeCommit repository che desideri utilizzare come posizione di origine per la tua pipeline. Nell'elenco a discesa in Branch name (Nome ramo), scegli il ramo che desideri utilizzare.
-
Nel formato Output artifact, scegli il formato per i tuoi artefatti.
-
Per memorizzare gli artefatti di output dell' CodeCommit azione utilizzando il metodo predefinito, scegli default. CodePipeline L'azione accede ai file dal CodeCommit repository e archivia gli artefatti in un file ZIP nel pipeline artifact store.
-
Per archiviare un file JSON contenente un riferimento URL al repository in modo che le operazioni downstream possano eseguire direttamente comandi Git, scegliere Full clone (Clone completo). Questa opzione può essere utilizzata solo da operazioni downstream di CodeBuild .
Se scegli questa opzione, dovrai aggiungere l'
codecommit:GitPullautorizzazione al tuo ruolo di servizio, come mostrato in. CodeBuild Aggiungi le CodeBuild GitClone autorizzazioni per le azioni di origine CodeCommit Dovrai inoltre aggiungere lecodecommit:GetRepositoryautorizzazioni al tuo ruolo di CodePipeline servizio, come mostrato inAggiungi le autorizzazioni al ruolo del servizio CodePipeline. Per un tutorial che mostra come utilizzare l'opzione Full clone, consulta. Tutorial: Usa un clone completo con una fonte di GitHub pipeline
-
-
Dopo aver scelto il nome e il ramo del CodeCommit repository, viene visualizzato un messaggio nelle opzioni di rilevamento delle modifiche che mostra la regola Amazon CloudWatch Events da creare per questa pipeline. Accettare le impostazioni predefinite in Change detection options (Opzioni di rilevamento delle modifiche). Ciò consente di CodePipeline utilizzare Amazon CloudWatch Events per rilevare le modifiche per la tua nuova pipeline.
-
-
Per Amazon ECR:
-
In Nome del repository, scegli il nome del tuo repository Amazon ECR.
-
In Image tag (Tag immagine), specifica il nome e la versione dell'immagine, se diverso da LATEST.
-
In Output artifacts, scegli l'elemento di output predefinito, ad esempio MyApp, che contiene il nome dell'immagine e le informazioni sull'URI del repository da utilizzare nella fase successiva.
Per un tutorial sulla creazione di una pipeline per Amazon ECS con distribuzioni CodeDeploy blu-verdi che includa una fase sorgente Amazon ECR, consulta. Tutorial: creare una pipeline con una fonte e una distribuzione Amazon ECR ECS-to-CodeDeploy
Quando includi una fase sorgente Amazon ECR nella pipeline, l'azione di origine genera un
imageDetail.jsonfile come artefatto di output quando esegui una modifica. Per ulteriori informazioni sul fileimageDetail.json, consulta file di immagine per le azioni di distribuzione di Amazon ECS Detail.json blue/green. -
Nota
L'oggetto e il tipo di file devono essere compatibili con il sistema di distribuzione che intendi utilizzare (ad esempio, Elastic Beanstalk o). CodeDeploy I tipi di file supportati potrebbero includere i file .zip, .tar e .tgz. Per ulteriori informazioni sui tipi di container supportati per Elastic Beanstalk, vedi Personalizzazione e configurazione degli ambienti Elastic Beanstalk e delle piattaforme supportate. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html Per ulteriori informazioni sulla distribuzione delle revisioni con, consulta Uploading Your Application Revision e Prepare a CodeDeploy Revision. https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps.html#deployment-steps-uploading-your-app https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-prepare-revision.html
-
-
Per configurare la fase per il ritentativo automatico, scegli Abilita il ritentativo automatico in caso di errore della fase. Per ulteriori informazioni sulla ripetizione automatica, vedere. Configura una fase per il ritentativo automatico in caso di errore
-
Scegli Avanti.
Fase 4: Creare una fase di compilazione
Questa fase è facoltativa se prevedi di creare una fase di distribuzione.
-
Nella pagina Passaggio 4: Aggiungi fase di costruzione, esegui una delle seguenti operazioni, quindi scegli Avanti:
-
Scegli Ignora fase di costruzione se intendi creare una fase di test o distribuzione.
-
Per scegliere l'azione Comandi per la fase di creazione, scegli Comandi.
Nota
L'esecuzione dell'azione Comandi comporterà costi separati in AWS CodeBuild. Se prevedi di inserire comandi di compilazione come parte di un' CodeBuild azione, vai avanti e scegli Altri fornitori di build, quindi seleziona CodeBuild.
In Comandi, inserisci i comandi della shell per l'azione. Per ulteriori informazioni sull'azione Comandi, vedereRiferimento all'azione dei comandi.
-
Per scegliere altri fornitori di build CodeBuild, ad esempio, scegli Altri provider. Da Build provider (Provider di compilazione), scegli un provider di operazioni personalizzate di servizi di compilazione e fornisci i dettagli di configurazione per quel provider. Per un esempio di come aggiungere Jenkins come un provider di compilazione, consulta Tutorial: creazione di una pipeline a quattro fasi.
-
In Build provider (Provider compilazione), seleziona AWS CodeBuild.
In Regione, scegli la AWS regione in cui esiste la risorsa. Il campo Regione indica dove vengono create le AWS risorse per questo tipo di azione e per questo tipo di provider. Questo campo viene visualizzato solo per le azioni in cui il fornitore dell'azione è un Servizio AWS. Per impostazione predefinita, il campo Regione è la stessa AWS della pipeline.
In Project name (Nome progetto), scegli il progetto di compilazione. Se hai già creato un progetto di costruzione in CodeBuild, sceglilo. Oppure puoi creare un progetto di compilazione in CodeBuild e poi tornare a questa attività. Segui le istruzioni in Creazione di una pipeline che utilizza CodeBuild nella Guida per l'utente di CodeBuild.
In Specifiche di compilazione, il file CodeBuild buildspec è facoltativo e puoi invece inserire dei comandi. In Inserisci comandi di compilazione, inserisci i comandi della shell per la tua azione. Per ulteriori informazioni sulle considerazioni relative all'utilizzo dei comandi di compilazione, vedereRiferimento all'azione dei comandi. Scegli Usa un file buildspec se desideri eseguire comandi in altre fasi o se hai un lungo elenco di comandi.
In Variabili di ambiente, per aggiungere variabili di CodeBuild ambiente all'azione di compilazione, scegli Aggiungi variabile di ambiente. Ogni variabile è composta da tre elementi:
-
Name (Nome), immetti il nome o la chiave della variabile di ambiente.
-
Value (Valore), immetti il valore della variabile di ambiente. Se scegli Parameter per il tipo di variabile, assicurati che questo valore sia il nome di un parametro che hai già memorizzato in AWS Systems Manager Parameter Store.
Nota
Sconsigliamo vivamente l'uso di variabili di ambiente per memorizzare valori sensibili, in particolare AWS le credenziali. Quando si utilizza la CodeBuild console o la AWS CLI, le variabili di ambiente vengono visualizzate in testo semplice. Per i valori sensibili, si consiglia di utilizzare invece il tipo Parameter (Parametro).
-
(Facoltativo) In Type (Tipo), immetti il tipo di variabile di ambiente. I valori validi sono Plaintext (Testo non crittografato) o Parameter (Parametro). Il valore predefinito è Plaintext (Testo non crittografato).
(Facoltativo) In Tipo di build, scegli una delle seguenti opzioni:
-
Per eseguire ogni build in un'unica azione di compilazione, scegli Compilazione singola.
-
Per eseguire più build nella stessa esecuzione dell'azione di compilazione, scegli Compilazione in batch.
(Facoltativo) Se hai scelto di eseguire build batch, puoi scegliere Combina tutti gli artefatti del batch in un'unica posizione per inserire tutti gli artefatti di build in un unico artefatto di output.
-
-
-
Per configurare lo stage per il ritentativo automatico, scegli Abilita riprova automatica in caso di errore dello stage. Per ulteriori informazioni sulla ripetizione automatica, vedere. Configura una fase per il ritentativo automatico in caso di errore
-
Scegli Avanti.
Fase 5: Creare una fase di test
Questo passaggio è facoltativo se intendi creare una fase di compilazione o distribuzione.
-
Nella pagina Passaggio 5: Aggiungi fase di test, esegui una delle seguenti operazioni, quindi scegli Avanti:
-
Scegli Ignora fase di test se intendi creare una fase di compilazione o distribuzione.
-
In Test provider, scegli il fornitore dell'azione di test e completa i campi appropriati.
-
-
Scegli Avanti.
Fase 6: Creare una fase di distribuzione
Questa fase è facoltativa se hai già creato una fase di compilazione.
-
Nella pagina Passaggio 6: Aggiungi fase di distribuzione, esegui una delle seguenti operazioni, quindi scegli Avanti:
-
Scegli Salta fase di distribuzione se hai creato una fase di build o test nei passaggi precedenti.
Nota
Questa opzione non viene visualizzata se hai già saltato la fase di compilazione o test.
-
In Deploy provider (Provider di distribuzione), scegli un'operazione personalizzata che hai creato per un provider di distribuzione.
In Regione, solo per le azioni interregionali, scegli la AWS regione in cui viene creata la risorsa. Il campo Regione indica dove vengono create le AWS risorse per questo tipo di azione e per questo tipo di provider. Questo campo viene visualizzato solo per le azioni in cui il fornitore dell'azione è un Servizio AWS. Il campo Regione è impostato per impostazione predefinita sulla stessa AWS regione della pipeline.
-
In Deploy provider (Distribuisci provider), i campi sono disponibili per i provider predefiniti come segue:
-
CodeDeploy
Nel Nome dell'applicazione, inserisci o scegli il nome di un'applicazione esistente. CodeDeploy In Deployment group (Gruppo di distribuzione), immetti il nome di un gruppo di distribuzione per l'applicazione. Scegli Avanti. Puoi anche creare un'applicazione, gruppo di distribuzione o entrambi nella console CodeDeploy.
-
AWS Elastic Beanstalk
In Nome applicazione, inserisci o scegli il nome di un'applicazione Elastic Beanstalk esistente. In Environment name (Nome ambiente), immetti un ambiente per l'applicazione. Scegli Avanti. Puoi anche creare un'applicazione, un ambiente o entrambi nella console Elastic Beanstalk.
-
AWS OpsWorks Stacks
In Stack, immetti o scegli il nome dello stack da utilizzare. In Layer (Livello), scegliere il livello cui appartengono le istanze di destinazione. In App, scegliere l'applicazione da aggiornare e distribuire. Se devi creare un'app, scegli Creane una nuova in. AWS OpsWorks
Per informazioni sull'aggiunta di un'applicazione a uno stack e a un layer in AWS OpsWorks, consulta Aggiungere app nella Guida per l'AWS OpsWorks utente.
Per un esempio completo di come utilizzare una semplice pipeline in CodePipeline come sorgente per il codice eseguito su AWS OpsWorks livelli, consulta Using with. CodePipeline AWS OpsWorks Stacks
-
AWS CloudFormation
Esegui una delle seguenti operazioni:
-
In modalità Azione, scegliete Crea o aggiorna uno stack, inserite il nome dello stack e il nome del file modello, quindi scegliete il nome di un ruolo da assumere. AWS CloudFormation Facoltativamente, inserisci il nome di un file di configurazione e scegli un'opzione di funzionalità IAM.
-
In modalità Azione, scegli Crea o sostituisci un set di modifiche, inserisci il nome dello stack e il nome del set di modifiche, quindi scegli il nome di un ruolo AWS CloudFormation da assumere. Facoltativamente, inserisci il nome di un file di configurazione e scegli un'opzione di funzionalità IAM.
Per informazioni sull'integrazione AWS CloudFormation delle funzionalità in una pipeline in CodePipeline, consulta Continuous Delivery with CodePipeline nella Guida per l'AWS CloudFormation utente.
-
-
Amazon ECS
In Nome del cluster, inserisci o scegli il nome di un cluster Amazon ECS esistente. In Service name (Nome servizio), immetti o scegli il nome del servizio in esecuzione sul cluster. Puoi anche creare un cluster e un servizio. In Image filename (Nome file di immagine), immetti il nome del file di definizioni delle immagini che descrive il container e l'immagine del servizio.
Nota
L'azione di distribuzione di Amazon ECS richiede un
imagedefinitions.jsonfile come input per l'azione di distribuzione. Il nome di file predefinito per il file è imagedefinitions.json. Se scegli di utilizzare un nome di file diverso, è necessario fornirlo quando la fase di distribuzione della pipeline. Per ulteriori informazioni, consulta file imagedefinitions.json per le azioni di distribuzione standard di Amazon ECS.Scegli Avanti.
Nota
Assicurati che il tuo cluster Amazon ECS sia configurato con due o più istanze. I cluster Amazon ECS devono contenere almeno due istanze in modo che una venga mantenuta come istanza principale e un'altra venga utilizzata per ospitare nuove distribuzioni.
Per un tutorial sulla distribuzione di applicazioni basate su contenitori con la pipeline, consulta Tutorial: Distribuzione continua con CodePipeline.
-
Amazon ECS () Blue/Green
Inserisci l' CodeDeploy applicazione e il gruppo di distribuzione, la definizione dell'attività di Amazon ECS e le informazioni sul AppSpec file, quindi scegli Avanti.
Nota
L'azione Amazon ECS (Blue/Green) richiede un Detail.json file di immagine come elemento di input per l'azione di distribuzione. Poiché l'azione sorgente di Amazon ECR crea questo file, le pipeline con un'azione sorgente Amazon ECR non devono fornire un file.
imageDetail.jsonPer ulteriori informazioni, consulta file di immagine per le azioni di distribuzione di Amazon ECS Detail.json blue/green.Per un tutorial sulla creazione di una pipeline per distribuzioni blu-verdi su un cluster Amazon ECS con, consulta. CodeDeploy Tutorial: creare una pipeline con una fonte e una distribuzione Amazon ECR ECS-to-CodeDeploy
-
AWS Service Catalog
Scegli Enter deployment configuration (Inserisci configurazione della distribuzione) se desideri utilizzare i campi nella console per specificare la configurazione oppure scegli Configuration file (File di configurazione) se disponi di un file di configurazione separato. Inserisci le informazioni di prodotto e configurazione, quindi scegli Next (Successivo).
Per un tutorial sull'implementazione delle modifiche ai prodotti in Service Catalog con la tua pipeline, consulta. Tutorial: creare una pipeline da distribuire su Service Catalog
-
Alexa Skills Kit
In Alexa Skill ID (ID competenza Alexa), immetti l'ID competenza per la competenza Alexa. In Client ID (ID client) e Client secret (Segreto client), immetti le credenziali generate utilizzando un profilo di sicurezza Login with Amazon (LWA). In Refresh token (Token di aggiornamento), immetti il token di aggiornamento generato usando il comando dell'interfaccia a riga di comando ASK per il recupero di un token di aggiornamento. Scegli Avanti.
Per un tutorial sulla distribuzione di competenze Alexa con la pipeline e la generazione di credenziali LWA, consulta Tutorial: creazione di una pipeline che distribuisce una competenza Amazon Alexa.
-
Amazon S3
In Bucket, inserisci il nome del bucket S3 da usare. Scegli Extract file before deploy (Estrai file prima di distribuire) se l'artefatto di input per la fase di distribuzione è un file ZIP. Se Extract file before deploy (Estrai file prima di distribuire) è selezionato, è possibile inserire un valore per Deployment path (Percorso di distribuzione) dove il file ZIP verrà decompresso. Se non è selezionato, è necessario immettere un valore nella chiave oggetto S3.
Nota
La maggior parte degli artefatti di output delle fasi di origine e compilazione vengono compressi. Tutti i fornitori di sorgenti di pipeline, ad eccezione di Amazon S3, comprimono i file sorgente prima di fornirli come elemento di input per l'azione successiva.
(Facoltativo) In ACL predefinito, inserisci l'ACL predefinito da applicare https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl all'oggetto distribuito su Amazon S3.
Nota
L'applicazione di una ACL predefinita sovrascrive le ACL esistenti applicate all'oggetto.
(Facoltativo) In Cache control (Controllo della cache), specifica i parametri del controllo della cache per le richieste di download degli oggetti dal bucket. Per un elenco dei valori validi, vedi il campo di intestazione
Cache-Controlper le operazioni HTTP. Per inserire più valori in Cache control (Controllo cache), utilizzare una virgola tra ogni valore. È possibile aggiungere uno spazio dopo ogni virgola (facoltativo), come mostrato in questo esempio.
La voce di esempio precedente viene visualizzata nell'interfaccia a riga di comando come segue:
"CacheControl": "public, max-age=0, no-transform"Scegli Avanti.
Per un tutorial sulla creazione di una pipeline con un provider di azioni di distribuzione Amazon S3, consulta. Tutorial: crea una pipeline che utilizzi Amazon S3 come provider di distribuzione
-
-
-
Per configurare la fase per il ritentativo automatico, scegli Abilita il ritentativo automatico in caso di errore dello stage. Per ulteriori informazioni sulla ripetizione automatica, vedere. Configura una fase per il ritentativo automatico in caso di errore
-
Per configurare lo stage per il rollback automatico, scegli Configura il rollback automatico in caso di errore dello stage. Per ulteriori informazioni sul rollback automatico, vedere. Configura una fase per il rollback automatico
-
Seleziona Fase successiva.
Fase 7: Esamina la pipeline
-
Nella pagina Passaggio 7: revisione, rivedi la configurazione della pipeline, quindi scegli Crea pipeline per creare la pipeline o Precedente per tornare indietro e modificare le tue scelte. Per uscire dalla procedura guidata senza creare una pipeline, scegliere Cancel (Annulla).
Ora che hai creato la pipeline, puoi visualizzarla nella console. La pipeline viene avviata dopo che è stata creata. Per ulteriori informazioni, consulta Visualizza le pipeline e i dettagli in CodePipeline. Per ulteriori informazioni su come apportare modifiche alla pipeline, consulta Modifica una tubazione in CodePipeline.
Creazione di una pipeline (CLI)
Per utilizzare la funzione AWS CLI per creare una pipeline, create un file JSON per definire la struttura della pipeline, quindi eseguite il comando con il parametro. create-pipeline --cli-input-json
Importante
Non è possibile utilizzare il AWS CLI per creare una pipeline che includa azioni dei partner. È invece necessario utilizzare la CodePipeline console.
Per ulteriori informazioni sulla struttura della pipeline, consulta CodePipeline riferimento alla struttura della pipeline and create-pipeline nell'API Reference. CodePipeline https://docs.aws.amazon.com/cli/latest/reference/codepipeline
Per creare un file JSON, utilizza il file JSON della pipeline di esempio, modificarlo e quindi chiamare il file quando si esegue il comando create-pipeline.
Prerequisiti:
È necessario l'ARN del ruolo di servizio per il quale è stato creato. CodePipeline Guida introduttiva con CodePipeline Si utilizza il ruolo CodePipeline di servizio ARN nel file JSON della pipeline quando si esegue il comando. create-pipeline Per ulteriori informazioni sulla creazione di un ruolo del servizio, consulta Crea il ruolo CodePipeline del servizio. A differenza della console, l'esecuzione del create-pipeline comando in AWS CLI non consente di creare automaticamente il ruolo CodePipeline di servizio. Il ruolo del servizio deve essere già presente.
Hai bisogno del nome di un bucket S3 dove archiviare gli artefatti per la pipeline. Questo bucket deve trovarsi nella stessa regione della pipeline. Puoi usare il nome del bucket nel file JSON della pipeline quando esegui il comando create-pipeline. A differenza della console, l'esecuzione del create-pipeline comando in AWS CLI non crea un bucket S3 per l'archiviazione degli artefatti. Il bucket deve esistere già.
Nota
Puoi anche utilizzare il comando get-pipeline per ottenere una copia della struttura JSON di tale pipeline, quindi modificare la struttura in un editor di testo semplice.
Argomenti
Per creare il file JSON
-
In un terminale (Linux, macOS o Unix) o nel prompt dei comandi (Windows), create un nuovo file di testo in una directory locale.
-
(Facoltativo) È possibile aggiungere una o più variabili a livello di pipeline. È possibile fare riferimento a questo valore nella configurazione delle CodePipeline azioni. È possibile aggiungere i nomi e i valori delle variabili quando si crea la pipeline e si può anche scegliere di assegnare valori quando si avvia la pipeline nella console.
Nota
Sebbene sia facoltativo aggiungere variabili a livello di pipeline, per una pipeline specificata con variabili a livello di pipeline in cui non viene fornito alcun valore, l'esecuzione della pipeline avrà esito negativo.
Una variabile a livello di pipeline viene risolta in fase di esecuzione della pipeline. Tutte le variabili sono immutabili, il che significa che non possono essere aggiornate dopo l'assegnazione di un valore. Le variabili a livello di pipeline con valori risolti verranno visualizzate nella cronologia di ogni esecuzione.
Le variabili vengono fornite a livello di pipeline utilizzando l'attributo variables nella struttura della pipeline. Nel seguente esempio, il valore della variabile
Variable1è di.Value1"variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ]Aggiungete questa struttura al JSON della pipeline o al JSON di esempio nel passaggio successivo. Per ulteriori informazioni sulle variabili, incluse le informazioni sullo spazio dei nomi, vedere. Riferimento alle variabili
-
Aprire il file in un editor di testo semplice e modificare i valori in modo da riflettere la struttura da creare. Come minimo, occorre modificare il nome della pipeline. Occorre anche considerare se modificare:
-
Il bucket S3 in cui vengono archiviati artefatti per questa pipeline.
-
Il percorso di origine del codice.
-
Il provider di distribuzione.
-
La modalità di distribuzione del codice.
-
I tag per la pipeline.
La seguente struttura della pipeline di esempio con due fasi evidenzia i valori che occorre modificare per la pipeline. La pipeline contiene probabilmente più di due fasi:
{ "pipeline": { "roleArn": "arn:aws:iam::80398EXAMPLE::role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "amzn-s3-demo-source-bucket", "S3ObjectKey": "ExampleCodePipelineSampleBundle.zip", "PollForSourceChanges": "false" }, "runOrder": 1 } ] }, { "name": "Staging", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-CodeDeploy-Application", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-2-250656481468" }, "name": "MyFirstPipeline", "version": 1, "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ] }, "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "v1" ], "excludes": [ "v2" ] } } ] } } ] "metadata": { "pipelineArn": "arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline", "updated": 1501626591.112, "created": 1501626591.112 }, "tags": [{ "key": "Project", "value": "ProjectA" }] }In questo esempio viene aggiunto tagging alla pipeline, includendo in essa la chiave di tag
ProjectAe il valoreProject. Per ulteriori informazioni sulla codifica delle risorse in CodePipeline, vedere. Applicazione di tag alle risorseAssicurati che il parametro
PollForSourceChangesnel file JSON sia impostato come segue:"PollForSourceChanges": "false",CodePipeline utilizza Amazon CloudWatch Events per rilevare le modifiche nel repository e nella filiale di CodeCommit origine o nel bucket di origine S3. Il passaggio successivo include le istruzioni per creare manualmente queste risorse per la pipeline. L'impostazione del flag su
falsedisabilita i controlli periodici, che non sono necessari quando si utilizzano i metodi di rilevamento delle modifiche consigliati. -
-
Per creare un'operazione di compilazione, test o distribuzione in una regione differente rispetto a quella della pipeline, devi aggiungere i seguenti elementi alla struttura della pipeline. Per istruzioni, consulta l’argomento Aggiungi un'azione interregionale in CodePipeline.
-
Aggiungi il parametro
Regionalla struttura della pipeline dell'operazione. -
Usa il
artifactStoresparametro per specificare un bucket di artefatti per ogni AWS regione in cui hai un'azione.
-
-
Al termine, salvare il file con un nome del tipo
pipeline.json.
Come creare una pipeline
-
Eseguire il comando create-pipeline e utilizzare il parametro
--cli-input-jsonper specificare il file JSON creato in precedenza.Per creare una pipeline denominata
MySecondPipelinecon un file JSON denominato pipeline.json che include il nome "MySecondPipeline" come valorenamenel JSON, il comando sarà simile al seguente:aws codepipeline create-pipeline --cli-input-json file://pipeline.jsonImportante
Assicurarsi di includere
file://prima del nome del file. Questo è obbligatorio in questo comando.Questo comando restituisce la struttura dell'intera pipeline creata.
-
Per visualizzare la pipeline, aprite la CodePipeline console e sceglietela dall'elenco delle pipeline oppure utilizzate il comando. get-pipeline-state Per ulteriori informazioni, consulta Visualizza le pipeline e i dettagli in CodePipeline.
-
Se si utilizza l'interfaccia a riga di comando per creare una pipeline, occorre creare manualmente le risorse di rilevamento delle modifiche consigliate per la pipeline:
-
Per una pipeline con un CodeCommit repository, è necessario creare manualmente la regola CloudWatch Eventi, come descritto in. Crea una EventBridge regola per una CodeCommit fonte (CLI)
-
Per una pipeline con un sorgente Amazon S3, è necessario creare manualmente la regola e il AWS CloudTrail percorso CloudWatch Events, come descritto in. Connessione ad Amazon S3: azioni di origine che utilizzano e EventBridge AWS CloudTrail
-
Crea una pipeline da modelli statici
È possibile creare una pipeline nella console che utilizza un modello per configurare una pipeline con il codice sorgente e le proprietà specificate. È necessario fornire la posizione del file di origine e le informazioni sui provider di origine che verranno utilizzati per le azioni. Puoi specificare un'azione sorgente per Amazon ECR o qualsiasi repository di terze parti supportato da CodeConnections, ad esempio. GitHub
Il modello creerà uno stack in CloudFormation per la tua pipeline che include le seguenti risorse:
-
Viene creata una pipeline con il tipo di pipeline V2. In Tipo di pipeline, scegliete una delle seguenti opzioni. I tipi di pipeline si differenziano per caratteristiche e prezzo. Per ulteriori informazioni, consulta Tipi di pipeline.
-
Viene creato un ruolo di servizio per la pipeline a cui si fa riferimento nel modello.
-
Un archivio di artefatti viene creato utilizzando l'archivio di artefatti predefinito, ad esempio il bucket di artefatti S3 designato come predefinito, per la pipeline nella pipeline selezionata per la pipeline. Regione AWS
Per visualizzare la raccolta di modelli iniziali open source utilizzati per la procedura guidata di creazione di modelli statici, consultate il repository all'indirizzo. https://github.com/aws/codepipeline-starter-templates
Quando si utilizzano modelli statici per creare una pipeline, la struttura della pipeline viene configurata in ciascun modello in base alle esigenze del caso d'uso. Ad esempio, il modello per una distribuzione su CloudFormation viene utilizzato come esempio in questa procedura. Il modello genera una pipeline denominata DeployToCloudFormationService con la seguente struttura:
-
Una fase di compilazione che contiene un'azione di origine con configurazione specificata nella procedura guidata.
-
Una fase di distribuzione con un'azione di distribuzione e lo stack di risorse associato. CloudFormation
Quando si utilizza un modello statico per creare una pipeline, vengono CodePipeline creati i nomi delle fasi (source, build, staging). Questi nomi non possono essere modificati. Puoi utilizzare nomi più specifici (ad esempio, BuildToGamma o DeployToProd) per le fasi che aggiungerai in seguito.
Passaggio 1: accedere alla console
Accedi Console di gestione AWS e apri la CodePipeline console all'indirizzo http://console.aws.amazon.com/codesuite/codepipeline/home
. -
Nella pagina Welcome (Benvenuto), seleziona Create pipeline (Crea pipeline).
Se è la prima volta che lo usi CodePipeline, scegli Inizia.
Passo 2: Scegli il modello
Scegli un modello per creare una pipeline con una fase di distribuzione, automazione o pipeline CI.
-
Nella pagina Passaggio 1: scegli l'opzione di creazione, esegui una delle seguenti operazioni, quindi scegli Avanti:
-
Scegli Implementazione se intendi creare una fase di implementazione. Visualizza le opzioni per i modelli che vengono distribuiti su ECR o. CloudFormation Per questo esempio, scegli Deployment, quindi scegli di eseguire la distribuzione in. CloudFormation
-
Scegli Integrazione continua se intendi creare una pipeline CI. Visualizza le opzioni per le pipeline CI, ad esempio la creazione su Gradle.
-
Scegli Automazione se intendi creare una pipeline automatizzata. Visualizza le opzioni per l’automazione, come la pianificazione di una build in Python.
-
-
Fase 3: Scegli la fonte
-
Nella pagina Passaggio 3: Scegli il codice sorgente, in Provider di origine, scegli il provider per il repository in cui è archiviato il codice sorgente, specifica le opzioni richieste, quindi scegli Passaggio successivo.
-
Per Bitbucket Cloud, GitHub (tramite GitHub app), GitHub Enterprise Server o autogestito GitLab.com: GitLab
-
In Connessione, scegli una connessione esistente o creane una nuova. Per creare o gestire una connessione per l'azione GitHub sorgente, consultaGitHub connessioni.
-
Scegli il repository che desideri utilizzare come posizione di origine per la pipeline.
Scegli di aggiungere un trigger o un filtro sui tipi di trigger per avviare la pipeline. Per ulteriori informazioni sull'utilizzo dei trigger, consulta. Aggiungi trigger con tipi di eventi push o pull request di codice Per ulteriori informazioni sul filtraggio con pattern glob, vedere. Lavorare con i modelli a globo nella sintassi
-
Nel formato Output artifact, scegli il formato per i tuoi artefatti.
-
Per memorizzare gli artefatti di output dell' GitHub azione utilizzando il metodo predefinito, scegli default. CodePipeline L'azione accede ai file dal GitHub repository e archivia gli artefatti in un file ZIP nel pipeline artifact store.
-
Per archiviare un file JSON contenente un riferimento URL al repository in modo che le operazioni downstream possano eseguire direttamente comandi Git, scegliere Full clone (Clone completo). Questa opzione può essere utilizzata solo da operazioni downstream di CodeBuild .
Se scegli questa opzione, dovrai aggiornare le autorizzazioni per il tuo ruolo di servizio di progetto, come mostrato in. CodeBuild Risoluzione dei problemi CodePipeline Per un tutorial che mostra come utilizzare l'opzione Full clone, consulta. Tutorial: Usa un clone completo con una fonte di GitHub pipeline
-
-
-
Per Amazon ECR:
-
In Nome del repository, scegli il nome del tuo repository Amazon ECR.
-
In Image tag (Tag immagine), specifica il nome e la versione dell'immagine, se diverso da LATEST.
-
In Output artifacts, scegli l'elemento di output predefinito, ad esempio MyApp, che contiene il nome dell'immagine e le informazioni sull'URI del repository da utilizzare nella fase successiva.
Quando includi uno stage sorgente di Amazon ECR nella pipeline, l'azione sorgente genera un
imageDetail.jsonfile come artefatto di output quando esegui una modifica. Per ulteriori informazioni sul fileimageDetail.json, consulta file di immagine per le azioni di distribuzione di Amazon ECS Detail.json blue/green. -
Nota
L'oggetto e il tipo di file devono essere compatibili con il sistema di distribuzione che intendi utilizzare (ad esempio, Elastic Beanstalk o). CodeDeploy I tipi di file supportati potrebbero includere i file .zip, .tar e .tgz. Per ulteriori informazioni sui tipi di container supportati per Elastic Beanstalk, vedi Personalizzazione e configurazione degli ambienti Elastic Beanstalk e delle piattaforme supportate. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html Per ulteriori informazioni sulla distribuzione delle revisioni con, consulta Uploading Your Application Revision e Prepare a CodeDeploy Revision. https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps.html#deployment-steps-uploading-your-app https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-prepare-revision.html
-
Fase 4: Configurazione del modello
Per questo esempio, è CloudFormation stata selezionata la distribuzione a. In questo passaggio, aggiungi la configurazione per il tuo modello.
-
Nel passaggio 4: Configura il modello, in Nome dello stack, inserisci un nome per la tua pipeline.
-
Modifica la policy IAM segnaposto per le autorizzazioni applicabili al tuo modello.
-
Scegli Crea pipeline da modello
-
Viene visualizzato un messaggio che indica che le risorse della pipeline sono in fase di creazione.
Fase 5: Visualizza la pipeline
-
Ora che hai creato la pipeline, puoi visualizzarla nella CodePipeline console e visualizzare lo stack in. CloudFormation La pipeline viene avviata dopo che è stata creata. Per ulteriori informazioni, consulta Visualizza le pipeline e i dettagli in CodePipeline. Per ulteriori informazioni su come apportare modifiche alla pipeline, consulta Modifica una tubazione in CodePipeline.