View a markdown version of this page

Riferimento alle variabili - 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à.

Riferimento alle variabili

Questa sezione è solo per riferimento. Per informazioni sulla creazione di variabili, vedere Utilizzo delle variabili.

Le variabili consentono di configurare le azioni della pipeline con valori determinati al momento dell'esecuzione della pipeline o dell'azione.

Alcuni provider di azioni producono un insieme definito di variabili. È possibile scegliere tra le chiavi variabili predefinite per tale provider di azioni, ad esempio l'ID di commit.

Importante

Quando passate parametri segreti, non inserite direttamente il valore. Il valore viene reso come testo in chiaro ed è quindi leggibile. Per motivi di sicurezza, non utilizzare testo in chiaro con informazioni segrete. Ti consigliamo vivamente di utilizzarlo AWS Secrets Manager per archiviare i segreti.

Per vedere esempi dettagliati di utilizzo delle variabili:

Limiti variabili

Per informazioni sui limiti, vedere Quote in AWS CodePipeline.

Nota

Quando inserite la sintassi della variabile nei campi di configurazione delle azioni, non superate il limite di 1000 caratteri per i campi di configurazione. Quando questo limite viene superato, viene restituito un errore di convalida.

Concetti

Questa sezione elenca i termini e i concetti chiave relativi alle variabili e agli spazi dei nomi.

Variabili

Le variabili sono coppie chiave-valore che possono essere utilizzate per configurare dinamicamente le azioni nella pipeline. Attualmente ci sono tre modi in cui queste variabili sono rese disponibili:

  • Esiste un insieme di variabili che sono implicitamente disponibili all'inizio di ogni esecuzione della pipeline. Questo set include attualmente PipelineExecutionId, l'ID dell'esecuzione della pipeline corrente.

  • Le variabili a livello di pipeline vengono definite quando la pipeline viene creata e risolte in fase di esecuzione della pipeline.

    Le variabili a livello di pipeline vengono specificate al momento della creazione della pipeline e si possono fornire valori al momento dell'esecuzione della pipeline.

  • Ci sono tipi di azione che producono insiemi di variabili quando vengono eseguiti. È possibile visualizzare le variabili prodotte da un'azione ispezionando il outputVariables campo che fa parte dell'API. ListActionExecutions Per un elenco dei nomi delle chiavi disponibili per provider di azioni, vedere Variabili disponibili per le operazioni della pipeline. Per vedere quali variabili produce ogni tipo di azione, consulta il CodePipeline Riferimento per la struttura delle operazioni.

Per fare riferimento a queste variabili nella configurazione dell'azione, è necessario utilizzare la sintassi di riferimento variabile con lo spazio dei nomi corretto.

Per un flusso di lavoro variabile di esempio, vedere Configurazione delle variabili.

Spazi dei nomi

Per garantire che le variabili possano essere referenziate in modo univoco, devono essere assegnate a uno spazio dei nomi. Dopo aver assegnato un set di variabili a uno spazio dei nomi, è possibile fare riferimento a queste variabili in una configurazione di azione utilizzando lo spazio dei nomi e la chiave variabile con la seguente sintassi:

#{namespace.variable_key}

Esistono tre tipi di namespace in base ai quali è possibile assegnare le variabili:

  • Lo spazio dei nomi riservato codepipeline

    Questo è lo spazio dei nomi assegnato al set di variabili implicite disponibili all'inizio di ogni esecuzione della pipeline. Questo spazio dei nomi è codepipeline. Esempio di riferimento variabile:

    #{codepipeline.PipelineExecutionId}
  • Lo spazio dei nomi delle variabili a livello di pipeline

    Questo è lo spazio dei nomi assegnato alle variabili a livello di pipeline. Lo spazio dei nomi per tutte le variabili a livello di pipeline è. variables Esempio di riferimento variabile:

    #{variables.variable_name}
  • Spazio dei nomi assegnato all'azione

    Si tratta di uno spazio dei nomi assegnato a un'azione. Tutte le variabili prodotte dall'azione rientrano in questo spazio dei nomi. Per rendere le variabili prodotte da un'azione disponibili per l'uso in una configurazione di azione downstream, è necessario configurare l'azione di produzione con uno spazio dei nomi. Gli spazi dei nomi devono essere univoci nella definizione della pipeline e non possono entrare in conflitto con i nomi degli artefatti. Ecco un riferimento di variabile di esempio per un'azione configurata con uno spazio dei nomi di SourceVariables.

    #{SourceVariables.VersionId}

Casi d'uso per le variabili

Di seguito sono riportati alcuni dei casi d'uso più comuni delle variabili a livello di pipeline, che consentono di determinare in che modo è possibile utilizzare le variabili per esigenze specifiche.

  • Le variabili a livello di pipeline sono destinate CodePipeline ai clienti che desiderano utilizzare la stessa pipeline ogni volta con lievi variazioni negli input per la configurazione dell'azione. Qualsiasi sviluppatore che avvia una pipeline aggiunge il valore della variabile nell'interfaccia utente all'avvio della pipeline. Con questa configurazione, si passano i parametri solo per quell'esecuzione.

  • Con le variabili a livello di pipeline, puoi passare input dinamici alle azioni nella pipeline. Puoi migrare le tue pipeline parametrizzate CodePipeline senza dover mantenere versioni diverse della stessa pipeline o creare pipeline complesse.

  • È possibile utilizzare variabili a livello di pipeline per passare parametri di input che consentono di riutilizzare una pipeline a ogni esecuzione, ad esempio quando si desidera specificare quale versione si desidera distribuire in un ambiente di produzione, in modo da non dover duplicare le pipeline.

  • È possibile utilizzare una singola pipeline per distribuire risorse in più ambienti di compilazione e distribuzione. Ad esempio, per una pipeline con un CodeCommit repository, è possibile eseguire la distribuzione da un ramo specifico e da un ambiente di distribuzione di destinazione e passare i parametri a livello di CodeBuild pipeline. CodeDeploy

Nota

Per Amazon ECR, Amazon S3 o CodeCommit sources, puoi anche creare un source override utilizzando la voce input transform per utilizzare l'evento revisionValue in EventBridge for your pipeline, in cui revisionValue è derivato dalla variabile di evento source per la chiave dell'oggetto, il commit o l'ID dell'immagine. Per ulteriori informazioni, consulta il passaggio facoltativo per l'immissione della trasformazione di input incluso nelle procedure riportate in,, o. Azioni e risorse di origine di Amazon ECR EventBridge Connessione alle azioni di origine di Amazon S3 con una fonte abilitata per gli eventi CodeCommit azioni di origine e EventBridge

Configurazione delle variabili

È possibile configurare le variabili a livello di pipeline o a livello di azione nella struttura della pipeline.

Configurazione delle variabili a livello di pipeline

È 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 delle variabili, i valori predefiniti e le descrizioni quando si crea la pipeline. Le variabili vengono risolte al momento dell'esecuzione.

Nota

Se non è definito un valore predefinito per una variabile a livello di pipeline, la variabile viene considerata obbligatoria. È necessario specificare le sostituzioni per tutte le variabili obbligatorie all'avvio di una pipeline, altrimenti l'esecuzione della pipeline fallirà con un errore di convalida.

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": "Variable1", "defaultValue": "Value1", "description": "description" } ]

Per un esempio nella struttura JSON della pipeline, vedere. Crea una pipeline, fasi e azioni

Per un tutorial con una variabile a livello di pipeline che viene passata al momento dell'esecuzione della pipeline, vedi. Tutorial: Usa variabili a livello di pipeline

Nota che l'utilizzo di variabili a livello di pipeline in qualsiasi tipo di azione Source non è supportato.

Nota

Se il variables namespace è già utilizzato in alcune azioni all'interno della pipeline, è necessario aggiornare la definizione dell'azione e scegliere un altro namespace per l'azione in conflitto.

Configurazione delle variabili a livello di azione

È possibile configurare un'azione per produrre variabili dichiarando uno spazio dei nomi per l'azione. L'azione deve essere già uno dei provider di azioni che genera variabili. In caso contrario, le variabili disponibili sono variabili a livello di pipeline.

Dichiari lo spazio dei nomi da:

  • Nella pagina Modifica azione della console, immettere uno spazio dei nomi nello spazio dei nomi variabile.

  • Immissione di uno spazio dei nomi nel campo parametro namespace nella struttura della pipeline JSON.

In questo esempio, si aggiunge il namespace parametro all'azione di CodeCommit origine con il nomeSourceVariables. In questo modo viene configurata l'azione per produrre le variabili disponibili per tale provider di azioni, ad esempio CommitId.

{ "name": "Source", "actions": [ { "outputArtifacts": [ { "name": "SourceArtifact" } ], "name": "Source", "namespace": "SourceVariables", "configuration": { "RepositoryName": "MyRepo", "BranchName": "mainline", "PollForSourceChanges": "false" }, "inputArtifacts": [], "region": "us-west-2", "actionTypeId": { "provider": "CodeCommit", "category": "Source", "version": "1", "owner": "AWS" }, "runOrder": 1 } ] },

Successivamente, è possibile configurare l'azione downstream per utilizzare le variabili prodotte dall'azione precedente. Lo puoi fare procedendo come segue:

  • Nella pagina Modifica azione della console, immettere la sintassi della variabile (per l'azione downstream) nei campi di configurazione delle azioni.

  • Immissione della sintassi della variabile (per l'azione downstream) nei campi di configurazione delle azioni nella struttura della pipeline JSON

In questo esempio, il campo di configurazione dell'azione di compilazione mostra le variabili di ambiente che vengono aggiornate all'esecuzione dell'azione. L'esempio specifica lo spazio dei nomi e la variabile per l'ID di esecuzione con #{codepipeline.PipelineExecutionId} e lo spazio dei nomi e la variabile per l'ID commit con #{SourceVariables.CommitId}.

{ "name": "Build", "actions": [ { "outputArtifacts": [ { "name": "BuildArtifact" } ], "name": "Build", "configuration": { "EnvironmentVariables": "[{\"name\":\"Release_ID\",\"value\":\"#{codepipeline.PipelineExecutionId}\",\"type\":\"PLAINTEXT\"},{\"name\":\"Commit_ID\",\"value\":\"#{SourceVariables.CommitId}\",\"type\":\"PLAINTEXT\"}]", "ProjectName": "env-var-test" }, "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-west-2", "actionTypeId": { "provider": "CodeBuild", "category": "Build", "version": "1", "owner": "AWS" }, "runOrder": 1 } ] },

Risoluzione delle variabili

Ogni volta che un'azione viene eseguita come parte di un'esecuzione di una pipeline, le variabili che produce sono disponibili per l'uso in qualsiasi azione che è garantita che si verifichi dopo l'azione di produzione. Per utilizzare queste variabili in un'azione consuming, è possibile aggiungerle alla configurazione dell'azione consuming utilizzando la sintassi mostrata nell'esempio precedente. Prima di eseguire un'azione che consuma, CodePipeline risolve tutti i riferimenti alle variabili presenti nella configurazione prima di iniziare l'esecuzione dell'azione.

Esempio: Variabili per più azioni

Regole per le variabili

Le seguenti regole consentono di configurare le variabili:

  • Specificare lo spazio dei nomi e la variabile per un'azione tramite una nuova proprietà azione o modificando un'azione.

  • Quando si utilizza la creazione guidata pipeline, la console genera uno spazio dei nomi per ogni azione creata con la procedura guidata.

  • Se lo spazio dei nomi non è specificato, le variabili prodotte da tale azione non possono essere referenziate in alcuna configurazione di azione.

  • Per fare riferimento alle variabili prodotte da un'azione, l'azione di riferimento deve avvenire dopo l'azione che produce le variabili. Ciò significa che è in una fase successiva rispetto all'azione che produce le variabili, o nella stessa fase, ma in un ordine di esecuzione superiore.

Variabili disponibili per le operazioni della pipeline

Il provider di azioni determina quali variabili possono essere generate dall'azione.

Per le procedure dettagliate per la gestione delle variabili, vedere Utilizzo delle variabili.

Azioni con chiavi variabili definite

A differenza di un namespace che puoi scegliere, le seguenti azioni utilizzano chiavi variabili che non possono essere modificate. Ad esempio, per l'action provider di Amazon S3, sono disponibili solo le chiavi VersionId variabili ETag e.

Ogni esecuzione ha anche un set di variabili della CodePipeline-generated pipeline che contengono dati sull'esecuzione, come l'ID di rilascio della pipeline. Queste variabili possono essere consumate da qualsiasi azione nella pipeline.

CodePipeline variabile ID di esecuzione

CodePipeline variabile ID di esecuzione
Provider Chiave variabile Valore di esempio Esempio di sintassi della variabile
codepipeline PipelineExecutionId 8abc75f0-fbf8-4f4c-bfEXAMPLE #{codepipeline.PipelineExecutionId}

Variabili di output delle azioni di Amazon ECR

Variabili Amazon ECR
Chiave variabile Valore di esempio Esempio di sintassi delle variabili
ImageDigest sha256:EXAMPLE1122334455 #{SourceVariables.ImageDigest}
ImageTag più recente #{SourceVariables.ImageTag}
ImageURI 11111 EXAMPLE.dkr.ecr.us-west-2.amazonaws.com/ecs-repo:latest #{SourceVariables.ImageURI}
RegistryId EXAMPLE12233 #{SourceVariables.RegistryId}
RepositoryName my-image-repo #{SourceVariables.RepositoryName}

CloudFormation StackSets variabili di output dell'azione

CloudFormation StackSets variabili
Chiave variabile Valore di esempio Esempio di sintassi delle variabili
OperationId Esempio di -2bbb-111-2bbb-11111 #{DeployVariables.OperationId}
StackSetId my-stackset: 1111aaaa-1111-2222-2bbb-11111example #{DeployVariables.StackSetId}

CodeCommit variabili di output dell'azione

CodeCommit variabili
Chiave variabile Valore di esempio Esempio di sintassi delle variabili
AuthorDate 29-10-2019 T03:32:21Z #{SourceVariables.AuthorDate}
BranchName sviluppo #{SourceVariables.BranchName}
CommitId

exampleb01f91b31

#{SourceVariables.CommitId}
CommitMessage Corretto un bug (100 KB di dimensione massima) #{SourceVariables.CommitMessage}
CommitterDate 2019-10-29 T03:32:21Z #{SourceVariables.CommitterDate}
RepositoryName il mio CodeCommitRepo #{SourceVariables.RepositoryName}

CodeStarSourceConnection variabili di output dell'azione

Le variabili di output disponibili dipendono dal tipo di trigger (push, pull request o tag). Le variabili nella tabella seguente, contrassegnate come Tutte, vengono generate per ogni tipo di trigger. Le variabili contrassegnate con un tipo di trigger specifico vengono prodotte solo quando l'esecuzione della pipeline viene avviata da quel trigger.

CodeStarSourceConnectionvariabili (Bitbucket Cloud GitHub, GitHub Enterprise Repository e) GitLab.com
Chiave variabile Valore di esempio Esempio di sintassi delle variabili Tipo di trigger
AuthorDate 29-10-2019 T03:32:21Z #{SourceVariables.AuthorDate} Tutti
AuthorDisplayName Jane Doe #{SourceVariables.AuthorDisplayName} Tutti
AuthorEmail jane.doe@example.com #{SourceVariables.AuthorEmail} Tutti
AuthorId janedo #{SourceVariables.AuthorId} Tutti
BranchName sviluppo #{SourceVariables.BranchName} Push, Tag
CommitId exampleb01f91b31 #{SourceVariables.CommitId} Tutti
CommitMessage Corretto un bug (100 KB di dimensione massima) #{SourceVariables.CommitMessage} Tutti
ConnectionArn arn:aws:codestar-connections:region ::connection/ account-id connection-id #{SourceVariables.ConnectionArn} Tutti
DestinationBranchName principale #{SourceVariables.DestinationBranchName} Richiesta pull
FullRepositoryName username/GitHubRepo #{SourceVariables.FullRepositoryName} Tutti
ProviderType GitHub #{SourceVariables.ProviderType} Tutti
PullRequestId 1 #{SourceVariables.PullRequestId} Richiesta pull
PullRequestTitle Aggiungi una nuova funzionalità #{SourceVariables.PullRequestTitle} Richiesta pull
SourceBranchName ramo delle funzionalità #{SourceVariables.SourceBranchName} Richiesta pull
TagName v1.0.0 #{SourceVariables.TagName} Tag

GitHub variabili di output dell'azione (GitHub (tramite app OAuth) azione)

GitHub variabili (GitHub (tramite app OAuth) (azione)
Chiave variabile Valore di esempio Esempio di sintassi delle variabili
AuthorDate 29-10-2019 T03:32:21Z #{SourceVariables.AuthorDate}
BranchName principale #{SourceVariables.BranchName}
CommitId

exampleb01f91b31

#{SourceVariables.CommitId}
CommitMessage

Corretto un bug (100 KB di dimensione massima)

#{SourceVariables.CommitMessage}
CommitterDate 2019-10-29 T03:32:21Z #{SourceVariables.CommitterDate}
CommitUrl #{SourceVariables.CommitUrl}
RepositoryName il mio GitHubRepo #{SourceVariables.RepositoryName}

Variabili di uscita dell'azione S3

Variabili S3
Chiave variabile Valore di esempio Esempio di sintassi delle variabili
ETag example28be1c3 #{SourceVariables.ETag}
VersionId exampleta_IUQCv #{SourceVariables.VersionId}

Azioni con chiavi variabili configurate dall'utente

Per CodeBuild CloudFormation, e per le azioni Lambda, le chiavi variabili sono configurate dall'utente.

CloudFormation variabili di output delle azioni

CloudFormation variables
Chiave variabile Esempio di sintassi delle variabili

Per CloudFormation le azioni, le variabili vengono prodotte da qualsiasi valore indicato nella Outputs sezione di un modello di stack. Nota che le uniche modalità di CloudFormation azione che generano output sono quelle che comportano la creazione o l'aggiornamento di uno stack, come la creazione dello stack, gli aggiornamenti dello stack e l'esecuzione di set di modifiche. Le modalità di operazione corrispondenti che generano variabili sono:

  • CREATE_UPDATE

  • CHANGE_SET_EXECUTE

  • CHANGE_SET_REPLACE

  • REPLACE_ON_FAILURE

Per ulteriori informazioni su queste modalità di azione, vedereCloudFormation distribuire un riferimento all'azione. Per un tutorial che mostra come creare una pipeline con un'azione di CloudFormation distribuzione in una pipeline che utilizza variabili di CloudFormation output, consulta. Tutorial: creare una pipeline che utilizzi variabili da AWS CloudFormation azioni di distribuzione
#{DeployVariables.StackName}

CodeBuild variabili di output delle azioni

CodeBuild variabili
Chiave variabile Esempio di sintassi delle variabili

Per CodeBuild le azioni, le variabili sono prodotte dai valori generati dalle variabili di ambiente esportate. Imposta una variabile di CodeBuild ambiente modificando la tua CodeBuild azione CodePipeline o aggiungendo la variabile di ambiente a buildspec.

Aggiungi le istruzioni al tuo CodeBuild buildspec per aggiungere la variabile di ambiente nella sezione delle variabili esportate. Vedi env/exported -variables nella Guida per l'utente. AWS CodeBuild

#{BuildVariables.EnvVar}

Variabili di output delle azioni Lambda

Variabili lambda
Chiave variabile Esempio di sintassi delle variabili
L'azione Lambda produrrà come variabili tutte le coppie chiave-valore incluse nella outputVariables sezione della richiesta API. PutJobSuccessResult

Per un tutorial con un'azione Lambda che utilizza le variabili di un'azione upstream (CodeCommit) e genera variabili di output, vedi. Tutorial: Utilizzo delle variabili con le azioni di invocazione Lambda

#{TestVariables.testRunId}