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'esecuzione 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 utilizzate testo semplice con segreti. Ti consigliamo vivamente di AWS Secrets Manager utilizzarlo per memorizzare i segreti.
Per vedere step-by-step esempi di utilizzo delle variabili:
-
Per un tutorial con una variabile a livello di pipeline che viene passata al momento dell'esecuzione della pipeline, vedi. Tutorial: utilizzare le variabili a livello di pipeline
-
Per un tutorial con un'azione Lambda che utilizza le variabili di un'azione upstream (CodeCommit) e genera variabili di output, consulta. Tutorial: Utilizzo delle variabili con le azioni di richiamo Lambda
-
Per un tutorial con un' AWS CloudFormation azione che fa riferimento alle variabili di output impilate di un'azione upstream CloudFormation , consulta. Tutorial: crea una pipeline che utilizza le variabili delle azioni di AWS CloudFormation distribuzione
-
Per un esempio di azione di approvazione manuale con testo del messaggio che fa riferimento a variabili di output che si CodeCommit risolvono nell'ID di commit e nel messaggio di commit, vedi. Esempio: utilizzo delle variabili nelle approvazioni manuali
-
Per un esempio di CodeBuild azione con una variabile di ambiente che si risolve nel nome del GitHub ramo, vedi. Esempio: utilizzare una BranchName variabile con variabili di CodeBuild ambiente
-
CodeBuild le azioni producono come variabili tutte le variabili di ambiente che sono state esportate come parte della build. Per ulteriori informazioni, consulta CodeBuild azioni (variabili di output).
Limiti variabili
Per informazioni sui limiti, vedere Quote in AWS CodePipeline.
Nota
Quando inserite la sintassi delle variabili 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.
Argomenti
Concetti
Questa sezione elenca i termini e i concetti chiave relativi alle variabili e agli spazi dei nomi.
Variables
Le variabili sono coppie chiave-valore che possono essere utilizzate per configurare dinamicamente le azioni nella pipeline. Attualmente esistono tre modi in cui queste variabili vengono 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 al momento della creazione della pipeline e risolte in fase di esecuzione della pipeline.
Le variabili a livello di pipeline vengono specificate al momento della creazione della pipeline e 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 esaminando il
outputVariables
campo che fa parte di. ListActionExecutionsAPI 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 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 per le variabili a livello di pipeline, che consentono di determinare come 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 variazioni minori 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, è possibile passare input dinamici alle azioni nella pipeline. È possibile migrare le tubazioni parametrizzate verso CodePipeline senza dover mantenere versioni diverse della stessa pipeline o creare tubazioni complesse.
-
È possibile utilizzare variabili a livello di pipeline per passare parametri di input che consentono di riutilizzare una pipeline ad 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 una filiale specifica e da un ambiente di distribuzione di destinazione e passare CodeDeploy i parametri a livello CodeBuild di pipeline.
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 quando si avvia 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. Nell'esempio seguente, la variabile Variable1
ha un valore di. Value1
"variables": [ { "name": "Variable1", "defaultValue": "Value1", "description": "description" } ]
Per un esempio della JSON struttura della pipeline, vedereCrea 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: utilizzare le 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 lo spazio dei variables
nomi è già utilizzato in alcune azioni all'interno della pipeline, è necessario aggiornare la definizione dell'azione e scegliere un altro spazio dei nomi 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.
-
Inserimento di uno spazio dei nomi nel campo dei
namespace
parametri nella struttura della JSON pipeline.
In questo esempio, aggiungete il namespace
parametro all'azione di CodeCommit origine con il nome. SourceVariables
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 a valle) nei campi di configurazione dell'azione 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 di consumo, CodePipeline risolve tutti i riferimenti alle variabili presenti nella configurazione prima di iniziare l'esecuzione dell'azione.
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 step-by-step le procedure per la gestione delle variabili, vedere. Utilizzo delle variabili
Azioni con chiavi variabili definite
A differenza di uno spazio dei nomi che puoi scegliere, le azioni seguenti utilizzano chiavi variabili che non possono essere modificate. Ad esempio, per il provider di azioni Amazon S3, sono disponibili solo le chiavi ETag
e VersionId
variabili.
Ogni esecuzione ha anche un set di variabili CodePipeline di pipeline generate che contengono dati sull'esecuzione, come l'ID di rilascio della pipeline. Queste variabili possono essere consumate da qualsiasi azione nella pipeline.
Argomenti
- CodePipeline variabile ID di esecuzione
- Variabili di output delle ECR azioni Amazon
- AWS CloudFormation StackSets variabili di output delle azioni
- CodeCommit variabili di output dell'azione
- CodeStarSourceConnection variabili di output delle azioni
- GitHub variabili di output delle azioni (GitHub azione versione 1)
- Variabili di output delle azioni S3
CodePipeline variabile ID di esecuzione
Provider | Chiave variabile | Valore di esempio | Esempio di sintassi variabile |
---|---|---|---|
codepipeline | PipelineExecutionId |
8abc75f0-fbf8-4f4c-bf EXAMPLE | #{codepipeline.PipelineExecutionId} |
Variabili di output delle ECR azioni Amazon
Chiave variabile | Valore di esempio | Esempio di sintassi variabile |
---|---|---|
ImageDigest |
sha256: EXAMPLE1122334455 | #{SourceVariables.ImageDigest} |
ImageTag |
più recente | #{SourceVariables.ImageTag} |
ImageURI |
11111 EXAMPLE .dkr. ecr.us-west-2.amazonaws.com /ecs-repo:più recente | #{SourceVariables.ImageURI} |
RegistryId |
EXAMPLE12233 | #{SourceVariables.RegistryId} |
RepositoryName |
my-image-repo | #{SourceVariables.RepositoryName} |
AWS CloudFormation StackSets variabili di output delle azioni
Chiave variabile | Valore di esempio | Esempio di sintassi variabile |
---|---|---|
OperationId |
Esempio di 4444-2bbb-111-2bbb-11111 | #{DeployVariables.OperationId} |
StackSetId |
my-stackset: 1111aaaa-1111-2222-2bbb-11111 esempio | #{DeployVariables.StackSetId} |
CodeCommit variabili di output dell'azione
Chiave variabile | Valore di esempio | Esempio di sintassi variabile |
---|---|---|
AuthorDate |
2019-10-29T03: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-29T03:32:21Z | #{SourceVariables.CommitterDate} |
RepositoryName |
myCodeCommitRepo | #{SourceVariables.RepositoryName} |
CodeStarSourceConnection variabili di output delle azioni
Chiave variabile | Valore di esempio | Esempio di sintassi variabile |
---|---|---|
AuthorDate |
2019-10-29T03:32:21Z | #{SourceVariables.AuthorDate} |
BranchName |
sviluppo | #{SourceVariables.BranchName} |
CommitId |
exampleb01f91b31 |
#{SourceVariables.CommitId} |
CommitMessage |
Corretto un bug (100 KB di dimensione massima) | #{SourceVariables.CommitMessage} |
ConnectionArn |
arn:aws:codestar-connections:region:account-id : connessione/connection-id |
#{SourceVariables.ConnectionArn} |
FullRepositoryName |
nome utente/ GitHubRepo | #{SourceVariables.FullRepositoryName} |
GitHub variabili di output delle azioni (GitHub azione versione 1)
Chiave variabile | Valore di esempio | Esempio di sintassi variabile |
---|---|---|
AuthorDate |
2019-10-29T03: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-29T03:32:21Z | #{SourceVariables.CommitterDate} |
CommitUrl |
#{SourceVariables.CommitUrl} |
|
RepositoryName |
myGitHubRepo | #{SourceVariables.RepositoryName} |
Variabili di output delle azioni S3
Chiave variabile | Valore di esempio | Esempio di sintassi variabile |
---|---|---|
ETag |
example28be1c3 | #{SourceVariables.ETag} |
VersionId |
esempio ta_ IUQCv | #{SourceVariables.VersionId} |
Azioni con chiavi variabili configurate dall'utente
Per CodeBuild le AWS CloudFormation azioni e Lambda, le chiavi variabili sono configurate dall'utente.
Argomenti
CloudFormation azioni (variabili di output)
Chiave variabile | Esempio di sintassi variabile |
---|---|
Per AWS CloudFormation le azioni, le variabili vengono prodotte a partire da qualsiasi valore indicato nella
|
#{DeployVariables.StackName} |
CodeBuild azioni (variabili di output)
Chiave variabile | Esempio di sintassi variabile |
---|---|
Per CodeBuild le azioni, le variabili vengono prodotte a partire da valori generati da variabili di ambiente esportate. Imposta una variabile di CodeBuild ambiente modificando l' CodeBuildazione in CodePipeline o aggiungendo la variabile di ambiente alle specifiche di build. Aggiungi le istruzioni alle specifiche di CodeBuild compilazione per aggiungere la variabile di ambiente nella sezione delle variabili esportate. Vedi env/exported-variables nella Guida per l'utente.AWS CodeBuild |
|
Variabili di output dell'azione Lambda
Chiave variabile | Esempio di sintassi variabile |
---|---|
L'azione Lambda produrrà come variabili tutte le coppie chiave-valore incluse nella outputVariables sezione della richiesta. PutJobSuccessResult API Per un tutorial con un'azione Lambda che utilizza le variabili di un'azione upstream (CodeCommit) e genera variabili di output, consulta. Tutorial: Utilizzo delle variabili con le azioni di richiamo Lambda |
#{TestVariables.testRunId} |