Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Référence aux variables
Cette section est fournie à des fins de référence uniquement. Pour plus d'informations sur la création de variables, consultez Utilisation des variables.
Les variables vous permettent de configurer les actions de votre pipeline avec des valeurs déterminées au moment de l'exécution du pipeline ou de l'exécution de l'action.
Certains fournisseurs d'actions produisent un ensemble défini de variables. Vous choisissez parmi des clés de variable par défaut pour ce fournisseur d'action, telles que l'ID de validation.
Important
Lorsque vous transmettez des paramètres secrets, n'entrez pas directement la valeur. La valeur est rendue en texte brut ; elle est donc lisible. Pour des raisons de sécurité, n'utilisez pas de texte brut contenant des secrets. Nous vous recommandons vivement de l'utiliser AWS Secrets Manager pour stocker des secrets.
Pour voir step-by-step des exemples d'utilisation de variables :
-
Pour un didacticiel avec une variable au niveau du pipeline transmise au moment de l'exécution du pipeline, voir. Tutoriel : Utiliser des variables au niveau du pipeline
-
Pour un didacticiel présentant une action Lambda qui utilise les variables d'une action en amont (CodeCommit) et génère des variables de sortie, voir. Tutoriel : Utilisation de variables avec des actions d'appel Lambda
-
Pour un didacticiel présentant une AWS CloudFormation action qui fait référence à des variables de sortie de pile issues d'une CloudFormation action en amont, consultezTutoriel : Création d'un pipeline qui utilise des variables issues d'actions de AWS CloudFormation déploiement.
-
Pour un exemple d'action d'approbation manuelle avec un texte de message faisant référence à des variables de sortie correspondant à l'ID de CodeCommit validation et au message de validation, voirExemple : Utiliser des variables dans les approbations manuelles.
-
Pour un exemple CodeBuild d'action avec une variable d'environnement qui correspond au nom de la GitHub branche, consultezExemple : utilisation d'une BranchName variable avec des variables d' CodeBuild environnement.
-
CodeBuild les actions produisent sous forme de variables toutes les variables d'environnement exportées dans le cadre de la construction. Pour de plus amples informations, veuillez consulter CodeBuild variables de sortie d'action.
Limites de variable
Pour plus d'informations sur les limites, consultez Quotas dans AWS CodePipeline.
Note
Lorsque vous entrez une syntaxe variable dans les champs de configuration des actions, ne dépassez pas la limite de 1 000 caractères pour les champs de configuration. Une erreur de validation est renvoyée lorsque cette limite est dépassée.
Rubriques
Concepts
Cette section répertorie les termes et concepts clés liés aux variables et aux espaces de noms.
Variables
Les variables sont des paires clé-valeur qui peuvent être utilisées pour configurer dynamiquement des actions dans votre pipeline. Ces variables sont actuellement mises à disposition de trois manières :
-
Il existe un ensemble de variables qui sont implicitement disponibles au début de chaque exécution de pipeline. Cet ensemble comprend actuellement
PipelineExecutionId
, l'ID de l'exécution du pipeline en cours. -
Les variables au niveau du pipeline sont définies lors de la création du pipeline et résolues au moment de son exécution.
Vous spécifiez des variables au niveau du pipeline lorsque celui-ci est créé, et vous pouvez fournir des valeurs au moment de l'exécution du pipeline.
-
Il existe des types d'action qui produisent des ensembles de variables lorsqu'ils sont exécutés. Vous pouvez voir les variables produites par une action en inspectant le
outputVariables
champ qui fait partie du ListActionExecutionsAPI. Pour obtenir la liste des noms de clé disponibles par fournisseur d'actions, consultez Variables disponibles pour les actions de pipeline. Pour connaître les variables produites par chaque type d'action, consultez le CodePipeline Référence sur la structure des actions.
Pour référencer ces variables dans votre configuration d'action, vous devez utiliser la syntaxe de référence de variable avec l'espace de noms correct.
Pour un exemple de flux de travail de variable, consultez Configuration des variables .
Espaces de noms
Pour que les variables puissent être référencées de manière unique, elles doivent être affectées à un espace de noms. Une fois qu’un ensemble de variables a été affecté à un espace de noms, elles peuvent être référencées dans une configuration d'action à l'aide de l'espace de noms et d’une clé de variable avec la syntaxe suivante :
#{namespace.variable_key}
Il existe trois types d'espaces de noms sous lesquels des variables peuvent être attribuées :
-
L' espace de noms réservé codepipeline
Il s'agit de l'espace de noms affecté à l'ensemble des variables implicites disponibles au début de chaque exécution du pipeline. Cet espace de noms est
codepipeline
. Exemple de référence de variable :#{codepipeline.PipelineExecutionId}
-
L'espace de noms des variables au niveau du pipeline
Il s'agit de l'espace de noms attribué aux variables au niveau du pipeline. L'espace de noms pour toutes les variables au niveau du pipeline est
variables
. Exemple de référence de variable :#{variables.variable_name}
-
Espace de noms affecté à l'action
Il s'agit d'un espace de noms que vous affectez à une action. Toutes les variables produites par l'action relèvent de cet espace de noms. Pour que les variables produites par une action puissent être utilisées dans une configuration d'action en aval, vous devez configurer l'action de production avec un espace de noms. Les espaces de noms doivent être uniques au sein de la définition du pipeline et ne peuvent pas entrer en conflit avec les noms d'artefact. Voici un exemple de référence de variable pour une action configurée avec l’espace de noms
SourceVariables
.#{SourceVariables.VersionId}
Cas d'utilisation des variables
Voici quelques-uns des cas d'utilisation les plus courants des variables au niveau du pipeline, qui vous aideront à déterminer comment vous pouvez utiliser les variables en fonction de vos besoins spécifiques.
-
Les variables au niveau du pipeline sont destinées CodePipeline aux clients qui souhaitent utiliser le même pipeline à chaque fois avec des variations mineures dans les entrées de la configuration des actions. Tout développeur qui démarre un pipeline ajoute la valeur variable dans l'interface utilisateur au démarrage du pipeline. Avec cette configuration, vous ne transmettez des paramètres que pour cette exécution.
-
Avec les variables au niveau du pipeline, vous pouvez transmettre des entrées dynamiques aux actions du pipeline. Vous pouvez migrer vos pipelines paramétrés vers des pipelines CodePipeline sans avoir à gérer différentes versions du même pipeline ou à créer des pipelines complexes.
-
Vous pouvez utiliser des variables au niveau du pipeline pour transmettre des paramètres d'entrée qui vous permettent de réutiliser un pipeline à chaque exécution, par exemple lorsque vous souhaitez spécifier la version que vous souhaitez déployer dans un environnement de production, afin de ne pas avoir à dupliquer les pipelines.
-
Vous pouvez utiliser un pipeline unique pour déployer des ressources dans plusieurs environnements de création et de déploiement. Par exemple, pour un pipeline doté d'un CodeCommit référentiel, le déploiement à partir d'une branche et d'un environnement de déploiement cible spécifiés peut être effectué CodeBuild et CodeDeploy les paramètres transmis au niveau du pipeline.
Configuration des variables
Vous pouvez configurer des variables au niveau du pipeline ou au niveau de l'action dans la structure du pipeline.
Configuration des variables au niveau du pipeline
Vous pouvez ajouter une ou plusieurs variables au niveau du pipeline. Vous pouvez référencer cette valeur dans la configuration des CodePipeline actions. Vous pouvez ajouter les noms des variables, les valeurs par défaut et les descriptions lors de la création du pipeline. Les variables sont résolues au moment de l'exécution.
Note
Si aucune valeur par défaut n'est définie pour une variable au niveau du pipeline, la variable est considérée comme obligatoire. Vous devez spécifier des remplacements pour toutes les variables requises lorsque vous démarrez un pipeline, sinon l'exécution du pipeline échouera avec une erreur de validation.
Vous fournissez des variables au niveau du pipeline à l'aide de l'attribut variables de la structure du pipeline. Dans l'exemple suivant, la valeur de la variable Variable1
estValue1
.
"variables": [ { "name": "Variable1", "defaultValue": "Value1", "description": "description" } ]
Pour un exemple de JSON structure de pipeline, voirCréation d'un pipeline, d'étapes et d'actions.
Pour un didacticiel avec une variable au niveau du pipeline transmise au moment de l'exécution du pipeline, voir. Tutoriel : Utiliser des variables au niveau du pipeline
Notez que l'utilisation de variables au niveau du pipeline dans tout type d'action Source n'est pas prise en charge.
Note
Si l'espace de variables
noms est déjà utilisé dans certaines actions du pipeline, vous devez mettre à jour la définition de l'action et choisir un autre espace de noms pour l'action en conflit.
Configuration des variables au niveau de l'action
Vous configurez une action pour produire des variables en déclarant un espace de noms pour l'action. L'action doit déjà être un des fournisseurs d'actions qui génère des variables. Sinon, les variables disponibles sont des variables de niveau pipeline.
Vous pouvez déclarer l'espace de noms comme suit :
-
Sur la page d'action Modifier de la console, entrez un espace de noms dans Espace de noms variable.
-
Entrez un espace de noms dans le champ de
namespace
paramètre de la structure du JSON pipeline.
Dans cet exemple, vous ajoutez le namespace
paramètre à l'action CodeCommit source avec le nomSourceVariables
. Cela configure l'action pour produire les variables disponibles pour ce fournisseur d'actions, telles que 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 } ] },
Ensuite, vous configurez l'action en aval pour utiliser les variables produites par l'action précédente. Pour ce faire, procédez comme suit :
-
Dans la page Edit action (Modifier l'action) de la console, saisissez la syntaxe de variable (pour l'action en aval) dans les champs de configuration de l'action.
-
Saisie de la syntaxe variable (pour l'action en aval) dans les champs de configuration des actions de la structure du JSON pipeline
Dans cet exemple, le champ de configuration de l'action de build affiche les variables d'environnement mises à jour lors de l'exécution de l'action. L'exemple spécifie l'espace de noms et la variable pour l'ID d'exécution avec #{codepipeline.PipelineExecutionId}
et l'espace de noms et la variable pour l'ID de validation avec #{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 } ] },
Résolution des variables
Chaque fois qu'une action est exécutée dans le cadre d'une exécution de pipeline, les variables produites peuvent être utilisées dans toute action dont l'exécution est garantie après l'action de production. Pour utiliser ces variables dans une action de consommation, vous pouvez les ajouter à la configuration de l'action de consommation en utilisant la syntaxe indiquée dans l'exemple précédent. Avant d'exécuter une action consommatrice, il CodePipeline résout toutes les références de variables présentes dans la configuration avant de lancer l'exécution de l'action.
Règles pour les variables
Les règles suivantes vous aident à configurer les variables :
-
Vous spécifiez l'espace de noms et la variable pour une action via une nouvelle propriété d'action ou en modifiant une action.
-
Lorsque vous utilisez l'assistant de création de pipeline, la console génère un espace de noms pour chaque action créée avec l'assistant.
-
Si l'espace de noms n'est pas spécifié, les variables produites par cette action ne peuvent être référencées dans aucune configuration d'action.
-
Pour référencer des variables produites par une action, l'action de référencement doit se produire après l'action qui produit les variables. Cela signifie qu'elle doit se produire soit au cours d’une étape ultérieure à l'action produisant les variables, soit au cours de la même étape mais dans un ordre d'exécution supérieur.
Variables disponibles pour les actions de pipeline
Le fournisseur d'actions détermine les variables qui peuvent être générées par l'action.
Pour step-by-step les procédures de gestion des variables, voirUtilisation des variables.
Actions avec des clés variables définies
Contrairement à un espace de noms que vous pouvez choisir, les actions suivantes utilisent des clés variables qui ne peuvent pas être modifiées. Par exemple, pour le fournisseur d'actions Amazon S3, seules les clés de VersionId
variable ETag
et sont disponibles.
Chaque exécution possède également un ensemble de variables de pipeline CodePipeline générées qui contiennent des données sur l'exécution, telles que l'ID de version du pipeline. Ces variables peuvent être utilisées par n'importe quelle action du pipeline.
Rubriques
- CodePipeline variable d'ID d'exécution
- Variables de sortie ECR d'action Amazon
- AWS CloudFormation StackSets variables de sortie d'action
- CodeCommit variables de sortie d'action
- CodeStarSourceConnection variables de sortie d'action
- GitHub variables de sortie GitHub d'action (action version 1)
- Variables de sortie d'action S3
CodePipeline variable d'ID d'exécution
Fournisseur | Clé de variable | Exemple de valeur | Exemple de syntaxe de variable |
---|---|---|---|
codepipeline | PipelineExecutionId |
8abc75f0-fbf8-4f4c-bf EXAMPLE | #{codepipeline.PipelineExecutionId} |
Variables de sortie ECR d'action Amazon
Clé de variable | Exemple de valeur | Exemple de syntaxe de variable |
---|---|---|
ImageDigest |
sha256 : EXAMPLE1122334455 | #{SourceVariables.ImageDigest} |
ImageTag |
dernières | #{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} |
AWS CloudFormation StackSets variables de sortie d'action
Clé de variable | Exemple de valeur | Exemple de syntaxe de variable |
---|---|---|
OperationId |
11111111-2bbb-111-2bbb-11111 exemple | #{DeployVariables.OperationId} |
StackSetId |
my-stackset:1111aaaa-1111-2222-2bbb-11111 exemple | #{DeployVariables.StackSetId} |
CodeCommit variables de sortie d'action
Clé de variable | Exemple de valeur | Exemple de syntaxe de variable |
---|---|---|
AuthorDate |
2019-10-29T03:32:21Z | #{SourceVariables.AuthorDate} |
BranchName |
développement | #{SourceVariables.BranchName} |
CommitId |
exampleb01f91b31 |
#{SourceVariables.CommitId} |
CommitMessage |
Correction d'un bug (taille maximale de 100 Ko) | #{SourceVariables.CommitMessage} |
CommitterDate |
2019-10-29T03:32:21Z | #{SourceVariables.CommitterDate} |
RepositoryName |
myCodeCommitRepo | #{SourceVariables.RepositoryName} |
CodeStarSourceConnection variables de sortie d'action
Clé de variable | Exemple de valeur | Exemple de syntaxe de variable |
---|---|---|
AuthorDate |
2019-10-29T03:32:21Z | #{SourceVariables.AuthorDate} |
BranchName |
développement | #{SourceVariables.BranchName} |
CommitId |
exampleb01f91b31 |
#{SourceVariables.CommitId} |
CommitMessage |
Correction d'un bug (taille maximale de 100 Ko) | #{SourceVariables.CommitMessage} |
ConnectionArn |
arn:aws:codestar-connections:region :account-id :connexion/connection-id |
#{SourceVariables.ConnectionArn} |
FullRepositoryName |
nom d'utilisateur/ GitHubRepo | #{SourceVariables.FullRepositoryName} |
GitHub variables de sortie GitHub d'action (action version 1)
Clé de variable | Exemple de valeur | Exemple de syntaxe de variable |
---|---|---|
AuthorDate |
2019-10-29T03:32:21Z | #{SourceVariables.AuthorDate} |
BranchName |
principal | #{SourceVariables.BranchName} |
CommitId |
exampleb01f91b31 |
#{SourceVariables.CommitId} |
CommitMessage |
Correction d'un bug (taille maximale de 100 Ko) |
#{SourceVariables.CommitMessage} |
CommitterDate |
2019-10-29T03:32:21Z | #{SourceVariables.CommitterDate} |
CommitUrl |
#{SourceVariables.CommitUrl} |
|
RepositoryName |
myGitHubRepo | #{SourceVariables.RepositoryName} |
Variables de sortie d'action S3
Clé de variable | Exemple de valeur | Exemple de syntaxe de variable |
---|---|---|
ETag |
example28be1c3 | #{SourceVariables.ETag} |
VersionId |
exemple_eta_ IUQCv | #{SourceVariables.VersionId} |
Actions avec des touches variables configurées par l'utilisateur
Pour les actions CodeBuild AWS CloudFormation,, et Lambda, les clés variables sont configurées par l'utilisateur.
Rubriques
CloudFormation variables de sortie d'action
Clé de variable | Exemple de syntaxe de variable |
---|---|
Pour les AWS CloudFormation actions, les variables sont produites à partir de toutes les valeurs désignées dans la
|
#{DeployVariables.StackName} |
CodeBuild variables de sortie d'action
Clé de variable | Exemple de syntaxe de variable |
---|---|
Pour les CodeBuild actions, les variables sont produites à partir des valeurs générées par les variables d'environnement exportées. Configurez une variable d' CodeBuild environnement en modifiant votre CodeBuild action CodePipeline ou en ajoutant la variable d'environnement à la spécification de construction. Ajoutez des instructions à votre spécification de CodeBuild construction pour ajouter la variable d'environnement dans la section des variables exportées. Voir env/exported-variables dans le guide de l'utilisateur.AWS CodeBuild |
|
Variables de sortie de l'action Lambda
Clé de variable | Exemple de syntaxe de variable |
---|---|
L'action Lambda produira sous forme de variables toutes les paires clé-valeur incluses dans la outputVariables section de la demande. PutJobSuccessResult API Pour un didacticiel présentant une action Lambda qui utilise les variables d'une action en amont (CodeCommit) et génère des variables de sortie, voir. Tutoriel : Utilisation de variables avec des actions d'appel Lambda |
#{TestVariables.testRunId} |