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, per gli artefatti verrà utilizzato un bucket di artefatti S3 fornito dal cliente. CodePipeline (Questo è diverso dal bucket utilizzato per un'azione sorgente S3.) Se il bucket di artefatti S3 si trova in un account diverso da quello della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di utenti sicuri e affidabili. Account AWS
Puoi aggiungere azioni alla tua pipeline che si trovano in una pipeline diversa dalla tua. Regione AWS Un'azione interregionale è un'azione in cui an Servizio AWS è il fornitore di un'azione e il tipo di azione o il tipo di provider si trova in una AWS regione diversa dalla pipeline. Per ulteriori informazioni, consulta Aggiungere 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 AmazonECS, 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 effettuata 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 il 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 si utilizza la procedura guidata per la pipeline, CodePipeline crea i nomi delle fasi (source, build, staging). Questi nomi non possono essere modificati. Puoi usare nomi più specifici (ad esempio BuildToGamma o DeployToProd) per le fasi che aggiungi in un secondo momento.
Fase 1: creare e assegnare un nome alla pipeline
Accedi AWS Management Console 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 Passaggio 1: Scegli l'opzione di creazione, in Opzioni di creazione, scegli l'opzione Crea pipeline personalizzata. Scegli Next (Successivo).
-
Nella pagina Passaggio 2: Scegli le impostazioni della pipeline, in Nome pipeline, inserisci il nome della pipeline.
In un singolo 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 tubazione, scegliete una delle seguenti opzioni. I tipi di tubazioni differiscono per caratteristiche e prezzo. Per ulteriori informazioni, consulta Tipi di tubazioni.
-
Le pipeline di tipo V1 hanno una JSON struttura che contiene parametri standard di pipeline, fase e livello di azione.
-
Le pipeline di tipo V2 hanno la stessa struttura di un tipo V1, insieme 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 Ruolo di servizio esistente per utilizzare un ruolo di servizio già creato inIAM. In Ruolo ARN, scegli il tuo ruolo di servizio ARN 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, consultare Aggiunta delle autorizzazioni dal ruolo di servizio CodePipeline.
Per ulteriori informazioni sul ruolo del servizio e la relativa dichiarazione di policy, consulta Gestisci il ruolo di servizio CodePipeline .
-
-
(Facoltativo) In Variabili, scegliete Aggiungi variabile per aggiungere variabili a livello di pipeline.
Per ulteriori informazioni sulle variabili a livello di pipeline, consulta. Riferimento alle variabili Per un tutorial con una variabile a livello di pipeline che viene passata al momento dell'esecuzione della pipeline, consulta. Tutorial: utilizzare le 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 vengono forniti valori, 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 nell'area 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 crei o modifichi una pipeline, devi avere un bucket di artefatti nella regione della pipeline e un bucket di artefatti per regione in cui stai eseguendo un'azione. AWS
Per ulteriori informazioni, consulta Artefatti di input e output e CodePipeline riferimento alla struttura della tubazione.
-
-
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 artifatti 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, la chiave o l'alias della chiave. ARN ARN
-
-
Scegli Next (Successivo).
Fase 2: creare una fase di origine
-
Nella pagina Passaggio 3: Aggiungi fase di origine, in Provider di origine, 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 (versione 2), GitHub Enterprise Server, GitLab .com o 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 tua pipeline.
Scegli di aggiungere un trigger o un filtro in base ai tipi di trigger per avviare la pipeline. Per ulteriori informazioni sull'utilizzo dei trigger, consulta. Filtra i trigger nelle richieste push o pull di codice Per ulteriori informazioni sul filtraggio con pattern a glob, vedere. Lavorare con i modelli a globo nella sintassi
-
In Formato degli artefatti di output, scegli il formato per i tuoi artefatti.
-
Per memorizzare gli artefatti di output derivanti dall' GitHub azione utilizzando il metodo predefinito, scegliete predefinito. CodePipeline L'azione accede ai file dal GitHub repository e memorizza gli artefatti in un ZIP file nel Pipeline Artifact Store.
-
Per archiviare un JSON file che contiene un URL riferimento al repository in modo che le azioni a valle possano eseguire direttamente i comandi Git, scegli Full clone. Questa opzione può essere utilizzata solo dalle CodeBuild azioni a valle.
Se scegli questa opzione, dovrai aggiornare le autorizzazioni per il tuo ruolo di CodeBuild Project Service come mostrato in. Risoluzione dei problemi CodePipeline Per un tutorial che mostra come usare l'opzione Full clone, consulta. Tutorial: usa il clone completo con una sorgente 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
/objectName
Nota
Se Amazon S3 è il fornitore di origine per la tua pipeline, puoi comprimere il file o i file sorgente in un unico .zip e caricare il file.zip nel tuo 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 AWS CloudTrail di rilevare le modifiche per la nuova pipeline. Scegli Next (Successivo).
-
-
Per AWS CodeCommit:
-
In Nome 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 degli artefatti di output, scegli il formato per i tuoi artefatti.
-
Per memorizzare gli artefatti di output derivanti dall' CodeCommit azione utilizzando il metodo predefinito, scegliete predefinito. CodePipeline L'azione accede ai file dal CodeCommit repository e memorizza gli artefatti in un ZIP file nel Pipeline Artifact Store.
-
Per archiviare un JSON file che contiene un URL riferimento al repository in modo che le azioni a valle possano eseguire direttamente i comandi Git, scegli Full clone. Questa opzione può essere utilizzata solo dalle CodeBuild azioni a valle.
Se scegli questa opzione, dovrai aggiungere l'
codecommit:GitPull
autorizzazione al tuo ruolo di CodeBuild servizio, come mostrato inAggiungi CodeBuild GitClone le autorizzazioni per le azioni CodeCommit di origine. Dovrai anche aggiungere lecodecommit:GetRepository
autorizzazioni al tuo ruolo di CodePipeline servizio, come mostrato inAggiunta delle autorizzazioni dal ruolo di servizio CodePipeline. Per un tutorial che mostra come utilizzare l'opzione Full clone, consulta. Tutorial: usa il clone completo con una sorgente di GitHub pipeline
-
-
Dopo aver scelto il nome e il ramo del CodeCommit repository, nelle opzioni di rilevamento delle modifiche viene visualizzato un messaggio 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 alla tua nuova pipeline.
-
-
Per Amazon ECR:
-
In Nome repository, scegli il nome del tuo ECR repository Amazon.
-
Nel tag Image, specifica il nome e la versione dell'immagine, se diversi da. LATEST
-
In Elementi di output, scegli l'elemento di output predefinito, ad esempio MyApp, che contiene il nome dell'immagine e le URI informazioni del repository che desideri 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 AmazonECR, consulta. Tutorial: crea una pipeline con un ECR codice sorgente Amazon e la ECS relativa distribuzione CodeDeploy
Quando includi una fase ECR sorgente Amazon nella tua pipeline, l'azione sorgente genera un
imageDetail.json
file come artefatto di output quando esegui una modifica. Per ulteriori informazioni sul fileimageDetail.json
, consulta imageDetailfile.json per le azioni di distribuzione di Amazon ECS 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 contenitori supportati per Elastic Beanstalk, consulta Personalizzazione e configurazione degli ambienti Elastic Beanstalk e delle piattaforme supportate. Per ulteriori informazioni sulla distribuzione delle revisioni con CodeDeploy, consulta Caricamento della revisione dell'applicazione e Preparazione di una revisione.
-
-
Per configurare la fase per il nuovo tentativo automatico, scegli Abilita riprova automatica in caso di errore sullo stage. Per ulteriori informazioni sui tentativi automatici, consulta. Configura una fase per il nuovo tentativo automatico in caso di errore
-
Scegli Next (Successivo).
Fase 4: Creare una fase di costruzione
Questa fase è facoltativa se prevedi di creare una fase di distribuzione.
-
Nella pagina Step 3: Add build stage (Fase 3: aggiunta fase di compilazione), esegui una delle operazioni seguenti, quindi seleziona Next (Successivo):
-
Scegli Skip build stage (Salta la fase di compilazione) se prevedi di creare una fase di distribuzione.
-
Per scegliere l'azione Comandi per la tua fase di costruzione, scegli Comandi.
Nota
L'esecuzione dell'azione Comandi comporterà costi separati in AWS CodeBuild
In Comandi, inserisci i comandi della shell per la tua 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 si trova la risorsa. Il campo Regione indica dove vengono create le AWS risorse per questo tipo di azione e 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 compilazione in CodeBuild, sceglilo. Oppure puoi creare un progetto di compilazione CodeBuild e poi tornare a questa attività. Segui le istruzioni riportate in Creare una pipeline da utilizzare CodeBuild nella Guida per l'CodeBuildutente.
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 scegliete Parameter per il tipo di variabile, assicuratevi che questo valore sia il nome di un parametro che avete già memorizzato in AWS Systems Manager Parameter Store.
Nota
Sconsigliamo vivamente l'uso di variabili di ambiente per archiviare valori sensibili, in particolare AWS le credenziali. Quando si utilizza la CodeBuild console o 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, scegliete una delle seguenti opzioni:
-
Per eseguire ogni build in un'unica azione di compilazione, scegli Single build.
-
Per eseguire più build nella stessa esecuzione della stessa azione di compilazione, scegli Creazione in Batch.
(Facoltativo) Se scegli di eseguire build in batch, puoi scegliere Combina tutti gli artefatti del batch in un'unica posizione per collocare tutti gli artefatti di build in un unico artefatto di output.
-
-
-
Per configurare lo stage per il nuovo tentativo automatico, selezionate Abilita riprova automatica in caso di errore sullo stage. Per ulteriori informazioni sui tentativi automatici, consulta. Configura una fase per il nuovo tentativo automatico in caso di errore
-
Scegli Next (Successivo).
Fase 5: Creare una fase di distribuzione
Questa fase è facoltativa se hai già creato una fase di compilazione.
-
Nella pagina Step 4: Add deploy stage (Fase 4: aggiunta fase di distribuzione), esegui una delle operazioni seguenti, quindi scegli Next (Successivo):
-
Scegli Skip deploy stage (Ignora fase di distribuzione) se hai creato una fase di compilazione nella fase precedente.
Nota
Questa opzione non viene visualizzata se hai già ignorato la fase di compilazione.
-
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 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 Deploy provider (Distribuisci provider), i campi sono disponibili per i provider predefiniti come segue:
-
CodeDeploy
In Nome 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 Next (Successivo). È inoltre possibile creare un'applicazione, un gruppo di distribuzione o entrambi nella CodeDeploy console.
-
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 Next (Successivo). 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 al layer in AWS OpsWorks, consulta Aggiungere app nella Guida per l'AWS OpsWorks utente.
Per un end-to-end esempio di come utilizzare una pipeline semplice CodePipeline come sorgente per il codice da eseguire su AWS OpsWorks livelli, consulta Using CodePipeline with. AWS OpsWorks Stacks
-
AWS CloudFormation
Esegui una di queste operazioni:
-
In modalità Azione, scegliete Crea o aggiorna uno stack, inserite il nome dello stack e il nome del file del modello, quindi scegliete il nome del ruolo da assumere. AWS CloudFormation Facoltativamente, inserisci il nome di un file di configurazione e scegli un'IAMopzione di funzionalità.
-
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 del ruolo AWS CloudFormation da assumere. Facoltativamente, inserite il nome di un file di configurazione e scegliete un'opzione IAM di funzionalità.
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 cluster, inserisci o scegli il nome di un ECS cluster Amazon 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 ECS di distribuzione di Amazon richiede un
imagedefinitions.json
file come input per l'azione di distribuzione. Il nome file predefinito è imagedefinitions.json. Se scegli di utilizzare un nome di file diverso, è necessario fornirlo durante la creazione della fase di distribuzione della pipeline. Per ulteriori informazioni, consulta file imagedefinitions.json per le azioni di distribuzione standard di Amazon ECS.Scegli Next (Successivo).
Nota
Assicurati che il tuo ECS cluster Amazon sia configurato con due o più istanze. ECSI cluster Amazon devono contenere almeno due istanze in modo che una venga mantenuta come istanza principale e l'altra venga utilizzata per ospitare nuove distribuzioni.
-
Amazon ECS (blu/verde)
Inserisci l' CodeDeploy applicazione e il gruppo di distribuzione, la definizione delle ECS attività di Amazon e le informazioni sui AppSpec file, quindi scegli Avanti.
Nota
L'azione Amazon ECS (Blue/Green) richiede un imageDetail file.json come elemento di input per l'azione di distribuzione. Poiché l'azione ECR sorgente di Amazon crea questo file, non è necessario che le pipeline con un'azione ECR sorgente Amazon forniscano un
imageDetail.json
file. Per ulteriori informazioni, consulta imageDetailfile.json per le azioni di distribuzione di Amazon ECS blue/green.Per un tutorial sulla creazione di una pipeline per distribuzioni blu-verdi in un cluster ECS Amazon con, consulta. CodeDeploy Tutorial: crea una pipeline con un ECR codice sorgente Amazon e la ECS relativa distribuzione 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: crea 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 e Client secret, inserisci le credenziali generate utilizzando un profilo di sicurezza Login with Amazon (LWA). In Refresh token, inserisci il token di aggiornamento che hai generato utilizzando il ASK CLI comando per recuperare un token di aggiornamento. Scegli Next (Successivo).
Per un tutorial sull'implementazione delle competenze di Alexa nella tua pipeline e sulla generazione delle credenziali, consulta. LWA Tutorial: creazione di una pipeline che distribuisce una competenza Amazon Alexa
-
Amazon S3
In Bucket, inserisci il nome del bucket S3 da usare. Scegli Estrai file prima della distribuzione se l'elemento di input per la fase di distribuzione è un file. ZIP Se è selezionato Estrai il file prima della distribuzione, puoi facoltativamente inserire un valore per il percorso di distribuzione in cui il file verrà decompresso. ZIP Se non è selezionato, è necessario immettere un valore in S3 object key (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 Canned ACL, inserisci il valore predefinito ACL da applicare all'oggetto distribuito su Amazon S3.
Nota
L'applicazione di un valore predefinito ACL sovrascrive qualsiasi elemento esistente applicato all'oggetto. ACL
(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 di valori validi, consultate il campo di
Cache-Control
intestazione per 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 come segue: CLI
"CacheControl": "public, max-age=0, no-transform"
Scegli Next (Successivo).
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 nuovo tentativo automatico, scegli Abilita riprova automatica in caso di errore. Per ulteriori informazioni sui tentativi automatici, consulta. Configura una fase per il nuovo tentativo automatico in caso di errore
-
Per configurare lo stage per il rollback automatico, scegli Configura il rollback automatico in caso di errore sullo stage. Per ulteriori informazioni sul rollback automatico, consulta. Configura una fase per il rollback automatico
-
Seleziona Fase successiva.
Fase 6: Esamina la pipeline
-
Nella pagina Passaggio 6: 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 Modificare una tubazione in CodePipeline.
Crea una pipeline () CLI
Per utilizzare la AWS CLI per creare una tubazione, create un JSON file per definire la struttura della tubazione, quindi eseguite il create-pipeline comando con il parametro. --cli-input-json
Importante
Non è possibile utilizzare il AWS CLI per creare una pipeline che includa le azioni dei partner. È invece necessario utilizzare la CodePipeline console.
Per ulteriori informazioni sulla struttura della pipeline, consulta CodePipeline riferimento alla struttura della tubazione e create-pipeline nel Reference. CodePipeline API
Per creare un JSON file, utilizzate il JSON file pipeline di esempio, modificatelo e poi chiamate quel file quando eseguite il comando. create-pipeline
Prerequisiti:
È necessario il ruolo ARN di servizio per CodePipeline cui è stato creato. Guida introduttiva con CodePipeline Il ruolo di CodePipeline servizio ARN nel JSON file pipeline viene utilizzato quando si esegue il create-pipeline comando. Per ulteriori informazioni sulla creazione di un ruolo del servizio, consulta Creare il ruolo CodePipeline di servizio. A differenza della console, eseguendo il create-pipeline comando in AWS CLI non è possibile creare automaticamente il ruolo di CodePipeline 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. Si utilizza il nome del bucket nel JSON file della pipeline quando si esegue il create-pipeline comando. 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
È inoltre possibile utilizzare il get-pipeline comando per ottenere una copia della JSON struttura di quella pipeline e quindi modificare tale struttura in un editor di testo semplice.
Argomenti
Per creare il file JSON
-
In un terminale (Linux, macOS o Unix) o al 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. Puoi aggiungere i nomi e i valori delle variabili quando crei la pipeline e puoi anche scegliere di assegnare valori quando avvii 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 vengono forniti valori, 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. Nell'esempio seguente, la variabile
Variable1
ha un valore di.Value1
"variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ]
Aggiungi questa struttura alla tua JSON pipeline o all'esempio JSON 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
ProjectA
e il valoreProject
. Per ulteriori informazioni sull'etichettatura delle risorse, consulta CodePipeline. Applicazione di tag alle risorseAssicurati che il
PollForSourceChanges
parametro nel JSON file 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
false
disabilita 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 Aggiungere un'azione interregionale in CodePipeline.
-
Aggiungi il parametro
Region
alla struttura della pipeline dell'operazione. -
Usa il
artifactStores
parametro 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
.
Per creare una pipeline
-
Eseguite il create-pipeline comando e utilizzate il
--cli-input-json
parametro per specificare il JSON file creato in precedenza.Per creare una pipeline denominata
MySecondPipeline
con un JSON file denominato pipeline.json che include il nome»MySecondPipeline
"come valore diname
JSON, il comando sarebbe simile al seguente:aws codepipeline create-pipeline --cli-input-json file://pipeline.json
Importante
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, apri la CodePipeline console e selezionala dall'elenco delle pipeline oppure usa il get-pipeline-state comando. Per ulteriori informazioni, consulta Visualizza le pipeline e i dettagli in CodePipeline.
-
Se si utilizza il CLI per creare una pipeline, è necessario 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 Events, come descritto in. Crea una EventBridge regola per una CodeCommit fonte (CLI)
-
Per una pipeline con una fonte Amazon S3, devi creare manualmente la regola AWS CloudTrail e CloudWatch il trail Events, come descritto in. Connessione ad azioni di origine di Amazon S3 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 codice sorgente e proprietà specificate dall'utente. Devi fornire la posizione del file di origine e le informazioni sui provider di origine che utilizzerai per le tue azioni. Puoi specificare un'azione di origine per Amazon ECR o qualsiasi repository di terze parti supportato da CodeConnections, ad esempio. GitHub
Il modello creerà uno stack AWS CloudFormation per la tua pipeline che include le seguenti risorse:
-
Viene creata una pipeline con il tipo di pipeline V2. In Tipo di tubazione, scegliete una delle seguenti opzioni. I tipi di tubazioni differiscono per caratteristiche e prezzo. Per ulteriori informazioni, consulta Tipi di tubazioni.
-
Viene creato un ruolo di servizio per la pipeline a cui viene fatto riferimento nel modello.
-
Un archivio di artefatti viene creato utilizzando l'archivio di artifact predefinito, ad esempio il bucket di artifact S3 designato come predefinito, per la pipeline nell'area selezionata per la pipeline. Regione AWS
Quando si utilizzano modelli statici per creare una pipeline, la struttura della pipeline viene configurata in ogni modello in base alle esigenze del caso d'uso. Ad esempio, il modello per una distribuzione in AWS CloudFormation viene utilizzato come esempio in questa procedura. Il modello genera una pipeline denominata DeployToCloudFormationServicecon 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. AWS CloudFormation
Quando si utilizza un modello statico per creare una pipeline, CodePipeline crea i nomi delle fasi (source, build, staging). Questi nomi non possono essere modificati. Puoi usare nomi più specifici (ad esempio BuildToGamma o DeployToProd) per le fasi che aggiungi in un secondo momento.
Passaggio 1: scegli l'opzione di creazione
Accedi AWS Management Console 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 Passaggio 1: Scegli l'opzione di creazione, in Opzioni di creazione, scegli l'opzione Crea pipeline da modello. Scegli Next (Successivo).
Passaggio 2: scegli il modello
Scegli un modello per creare una pipeline con una fase di implementazione, automazione o una pipeline CI.
-
Nella pagina Passaggio 2: Scegli il modello, esegui una delle seguenti operazioni, quindi scegli Avanti:
-
Scegli Deployment se prevedi di creare una fase di distribuzione. Visualizza le opzioni per i modelli che vengono distribuiti in ECR o CloudFormation. Per questo esempio, scegli Distribuzione, quindi scegli di eseguire la distribuzione su. CloudFormation
-
Scegli Continuous Integration se prevedi di creare una pipeline CI. Visualizza le opzioni per le pipeline CI, ad esempio la creazione su Gradle.
-
Scegli Automation se prevedi di creare una pipeline automatizzata. Visualizza le opzioni per l'automazione, come la pianificazione di una build in Python.
-
-
Passaggio 3: Scegli la fonte
-
Nel Passaggio 3: Scegli la pagina di origine, in Provider di origine, scegli il provider per il repository in cui è archiviato il codice sorgente, specifica le opzioni richieste e quindi scegli Passaggio successivo.
-
Per Bitbucket Cloud, GitHub (versione 2), GitHub Enterprise Server, GitLab .com o autogestito: 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 tua pipeline.
Scegli di aggiungere un trigger o un filtro in base ai tipi di trigger per avviare la pipeline. Per ulteriori informazioni sull'utilizzo dei trigger, consulta. Filtra i trigger nelle richieste push o pull di codice Per ulteriori informazioni sul filtraggio con pattern a glob, vedere. Lavorare con i modelli a globo nella sintassi
-
In Formato degli artefatti di output, scegli il formato per i tuoi artefatti.
-
Per memorizzare gli artefatti di output derivanti dall' GitHub azione utilizzando il metodo predefinito, scegliete predefinito. CodePipeline L'azione accede ai file dal GitHub repository e memorizza gli artefatti in un ZIP file nel Pipeline Artifact Store.
-
Per archiviare un JSON file che contiene un URL riferimento al repository in modo che le azioni a valle possano eseguire direttamente i comandi Git, scegli Full clone. Questa opzione può essere utilizzata solo dalle CodeBuild azioni a valle.
Se scegli questa opzione, dovrai aggiornare le autorizzazioni per il tuo ruolo di CodeBuild Project Service come mostrato in. Risoluzione dei problemi CodePipeline Per un tutorial che mostra come usare l'opzione Full clone, consulta. Tutorial: usa il clone completo con una sorgente di GitHub pipeline
-
-
-
Per Amazon ECR:
-
In Nome repository, scegli il nome del tuo ECR repository Amazon.
-
Nel tag Image, specifica il nome e la versione dell'immagine, se diversi da. LATEST
-
In Elementi di output, scegli l'elemento di output predefinito, ad esempio MyApp, che contiene il nome dell'immagine e le URI informazioni del repository che desideri utilizzare nella fase successiva.
Quando includi una fase ECR sorgente Amazon nella tua pipeline, l'azione sorgente genera un
imageDetail.json
file come artefatto di output quando esegui una modifica. Per ulteriori informazioni sul fileimageDetail.json
, consulta imageDetailfile.json per le azioni di distribuzione di Amazon ECS 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 contenitori supportati per Elastic Beanstalk, consulta Personalizzazione e configurazione degli ambienti Elastic Beanstalk e delle piattaforme supportate. Per ulteriori informazioni sulla distribuzione delle revisioni con CodeDeploy, consulta Caricamento della revisione dell'applicazione e Preparazione di una revisione.
-
Fase 4: Configurazione del modello
Per questo esempio, CloudFormation è stata selezionata la distribuzione in. In questo passaggio, aggiungi la configurazione per il tuo modello.
-
Nel passaggio 4: Configurazione del modello, in Stack name, inserisci un nome per la pipeline.
-
Modifica la IAM politica dei 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 esso contenuto. AWS 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 Modificare una tubazione in CodePipeline.