Crea una pipeline, fasi e azioni - AWS CodePipeline

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.

Puoi aggiungere azioni alla tua pipeline che si trovano in una pipeline Regione AWS diversa dalla tua. 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.

Creazione di una pipeline (console)

Per creare una pipeline nella console, occorre specificare il percorso dei file di origine e le informazioni relative ai provider che verranno utilizzati per le operazioni.

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 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
  1. Accedi AWS Management Console e apri la CodePipeline console all'indirizzo http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Nella pagina Welcome (Benvenuto), seleziona Create pipeline (Crea pipeline).

    Se è la prima volta che lo usi CodePipeline, scegli Inizia.

  3. Nella pagina Step 1: Choose pipeline settings (Fase 1: scelta delle impostazioni della pipeline), in Pipeline name (Nome pipeline), immettere 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.

  4. 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.

  5. 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 .

  6. (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.

  7. (Facoltativo) Espandi Advanced settings (Impostazioni avanzate).

  8. In Artifact store (Archivio di artefatti), esegui una delle seguenti operazioni:

    1. 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

    2. 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.

  9. Per Encryption key (Chiave di crittografia), esegui una delle operazioni seguenti:

    1. 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

    2. 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

  10. Scegli Next (Successivo).

Fase 2: creare una fase di origine
  • Nella pagina Step 2: Add source stage (Fase 2: aggiunta fase di origine), nell'elenco a discesa Source provider (Provider di origine), scegli il tipo di repository in cui viene archiviato il codice sorgente, specifica le relative opzioni obbligatorie, quindi scegli Next step (Fase successiva).

    • Per Bitbucket Cloud, GitHub (versione 2), GitHub Enterprise Server, GitLab .com o autogestito: GitLab

      1. In Connessione, scegli una connessione esistente o creane una nuova. Per creare o gestire una connessione per l'azione GitHub sorgente, consultaGitHub connessioni.

      2. 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

      3. 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:

      1. 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.

      2. 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.

      • 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 file imageDetail.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 3: creare una fase di compilazione

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.

    • 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 regione in cui si trova la AWS 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.

Fase 4: 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, scegliete la regione in cui viene creata la risorsa. AWS 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, inserisci il nome di un file di configurazione e scegli 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.

        Per un tutorial sulla distribuzione di applicazioni basate su container con la tua pipeline, consulta Tutorial: Continuous Deployment with. CodePipeline

      • 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-Controlintestazione 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.

        Immagine che mostra il campo di controllo della cache nella console con la seguente voce: public, max-age=0, no-transform

        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

Fase 5: Rivedere la pipeline
  • Nella pagina Step 5: Review (Fase 5: revisione), verifica la configurazione della pipeline e scegli Create pipeline (Crea pipeline) per creare la pipeline o Previous (Precedente) per tornare indietro e modificare le 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 hai 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
    1. In un terminale (Linux, macOS o Unix) o al prompt dei comandi (Windows), create un nuovo file di testo in una directory locale.

    2. (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

    3. 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 valore Project. Per ulteriori informazioni sull'etichettatura delle risorse, consulta CodePipeline. Assegnazione di tag alle risorse

      Assicurati 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.

    4. 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.

    5. Al termine, salvare il file con un nome del tipo pipeline.json.

    Per creare una pipeline
    1. 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 di nameJSON, 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.

    2. 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.

    3. Se si utilizza il CLI per creare una pipeline, è necessario creare manualmente le risorse di rilevamento delle modifiche consigliate per la pipeline: