Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Referencia de variables
Esta sección se incluye solo como referencia. Para obtener información sobre la creación de variables, consulte Trabajar con variables.
Las variables le permiten configurar las acciones de canalización con valores que se determinan en el momento de la ejecución de la canalización o de la ejecución de la acción.
Algunos proveedores de acciones producen un conjunto definido de variables. Puede elegir entre las claves de variables predeterminadas para ese proveedor de acciones, como el ID de confirmación.
importante
Al pasar parámetros del secreto, no introduzca el valor directamente. El valor se representa como texto no cifrado y, por lo tanto, se puede leer. Por razones de seguridad, no utilice texto sin formato con secretos. Le recomendamos encarecidamente que lo utilice AWS Secrets Manager para almacenar secretos.
Para ver step-by-step ejemplos del uso de variables:
-
Para ver un tutorial con una variable a nivel de canalización que se transfiere en el momento de la ejecución de la canalización, consulte Tutorial: Uso de variables a nivel de canalización.
-
Para ver un tutorial sobre una acción de Lambda que utiliza variables de una acción anterior (CodeCommit) y genera variables de salida, consulte. Tutorial: Uso de variables con acciones de invocación de Lambda
-
Para ver un tutorial con una AWS CloudFormation acción que hace referencia a las variables de salida de la pila de una CloudFormation acción anterior, consulte. Tutorial: Crear una canalización que utilice variables de las acciones de AWS CloudFormation despliegue
-
Para ver un ejemplo de acción de aprobación manual con un texto de mensaje que haga referencia a las variables de salida que se resuelven en el ID de CodeCommit confirmación y el mensaje de confirmación, consulteEjemplo: Usar variables en aprobaciones manuales.
-
Para ver un ejemplo de CodeBuild acción con una variable de entorno que se resuelve en el nombre de la GitHub rama, consulteEjemplo: utilice una BranchName variable con CodeBuild variables de entorno.
-
CodeBuild las acciones producen como variables todas las variables de entorno que se exportaron como parte de la compilación. Para obtener más información, consulte CodeBuild variables de salida de una acción.
Límites de variables
Para obtener información sobre los límites, consulte Cuotas en AWS CodePipeline.
nota
Cuando escriba la sintaxis de variable en los campos de configuración de acciones, no exceda el límite de 1000 caracteres de los campos de configuración. Cuando se supera este límite, se devuelve un error de validación.
Temas
Conceptos
En esta sección se enumeran los términos y conceptos clave relacionados con variables y espacios de nombres.
Variables
Las variables son pares clave-valor que se pueden utilizar para configurar dinámicamente acciones en la canalización. Actualmente hay tres maneras de hacer que estas variables estén disponibles:
-
Hay un conjunto de variables que están implícitamente disponibles al inicio de cada ejecución de canalización. Este conjunto incluye actualmente
PipelineExecutionId
, el ID de la ejecución de la canalización actual. -
Las variables a nivel de canalización se definen cuando la canalización se crea y se resuelven en el tiempo de ejecución de la canalización.
Las variables a nivel de canalización se especifican cuando se crea la canalización y se pueden proporcionar valores en el momento de la ejecución de la canalización.
-
Existen tipos de acción que producen conjuntos de variables cuando se ejecutan. Puede ver las variables generadas por una acción inspeccionando el
outputVariables
campo que forma parte de la ListActionExecutionsAPI. Para obtener una lista de los nombres de clave disponibles por proveedor de acciones, consulte Variables disponibles para acciones de canalización. Para ver qué variables produce cada tipo de acción, consulte la CodePipeline Referencia de la estructura de acciones.
Para hacer referencia a estas variables en la configuración de acción, debe utilizar la sintaxis de referencia de variable con el espacio de nombres correcto.
Para ver un flujo de trabajo de variables de ejemplo, consulte Configuración de variables .
Espacios de nombres
Para garantizar que se pueda hacer referencia a las variables de forma única, deben asignarse a un espacio de nombres. Después de tener un conjunto de variables asignado a un espacio de nombres, se puede hacer referencia a las mismas en una configuración de acción mediante el espacio de nombres y la clave de variable con la siguiente sintaxis:
#{namespace.variable_key}
Hay tres tipos de espacios de nombres en los que se pueden asignar variables:
-
El espacio de nombres reservado codepipeline
Este es el espacio de nombres asignado al conjunto de variables implícitas disponibles al inicio de cada ejecución de canalización. Este espacio de nombres es
codepipeline
. Ejemplo de referencia de variable:#{codepipeline.PipelineExecutionId}
-
El espacio de nombres de las variables a nivel de canalización
Este es el espacio de nombres asignado a variables a nivel de canalización. El espacio de nombres de las variables a nivel de canalización es
variables
. Ejemplo de referencia de variable:#{variables.variable_name}
-
Espacio de nombres asignado a la acción
Se trata de un espacio de nombres que se asigna a una acción. Todas las variables producidas por la acción caen bajo este espacio de nombres. Para que las variables producidas por una acción estén disponibles para su uso en una configuración de acción descendente, debe configurar la acción de producción con un espacio de nombres. Los espacios de nombres deben ser únicos en toda la definición de canalización y no pueden entrar en conflicto con ningún nombre de artefacto. Aquí hay una referencia de variable de ejemplo para una acción configurada con un espacio de nombres de
SourceVariables
.#{SourceVariables.VersionId}
Casos de uso de variables
A continuación, se incluyen algunos de los casos de uso más comunes de variables a nivel de canalización y le ayuda a determinar cómo puede usar las variables para sus necesidades específicas.
-
Las variables a nivel de canalización son para CodePipeline los clientes que desean usar la misma canalización cada vez, con pequeñas variaciones en las entradas de la configuración de la acción. Cualquier desarrollador que inicie una canalización añade el valor de la variable en la interfaz de usuario cuando se inicia la canalización. Con esta configuración, solo se transfieren parámetros para esa ejecución.
-
Con las variables a nivel de canalización, puede pasar entradas dinámicas a las acciones de la canalización. Puede migrar sus canalizaciones parametrizadas CodePipeline sin tener que mantener diferentes versiones de la misma canalización o crear canalizaciones complejas.
-
Puede usar variables a nivel de canalización para transferir parámetros de entrada que le permitan reutilizar una canalización en cada ejecución, por ejemplo, cuando quiere especificar qué versión quiere implementar en un entorno de producción, de forma que no tenga que duplicar las canalizaciones.
-
Puede usar una única canalización para implementar recursos en varios entornos de creación e implementación. Por ejemplo, en el caso de una canalización con un CodeCommit repositorio, la implementación se puede realizar desde una sucursal específica y un entorno de implementación de destino, CodeBuild y CodeDeploy los parámetros se pueden transferir a nivel de canalización.
Configuración de variables
Puede configurar las variables a nivel de canalización o a nivel de acción en la estructura de canalización.
Configuración de variables a nivel de canalización
Puede agregar una o varias variables a nivel de canalización. Puede hacer referencia a este valor en la configuración de CodePipeline las acciones. Puede añadir los nombres de las variables, los valores predeterminados y las descripciones al crear la canalización. Las variables se resuelven en el momento de la ejecución.
nota
Si no se define un valor predeterminado para una variable a nivel de canalización, la variable se considera obligatoria. Debe especificar las anulaciones para todas las variables obligatorias al iniciar una canalización; de lo contrario, la ejecución de la canalización fallará y se producirá un error de validación.
Las variables se proporcionan a nivel de canalización mediante el atributo de variables de la estructura de canalización. En el siguiente ejemplo, la variable Variable1
tiene un valor de Value1
.
"variables": [ { "name": "Variable1", "defaultValue": "Value1", "description": "description" } ]
Para ver un ejemplo de la JSON estructura de canalización, consulteCrea una canalización, etapas y acciones.
Para ver un tutorial con una variable a nivel de canalización que se transfiere en el momento de la ejecución de la canalización, consulte Tutorial: Uso de variables a nivel de canalización.
Tenga en cuenta que no se admite el uso de variables a nivel de canalización en ningún tipo de acción de origen.
nota
Si el espacio de nombres variables
ya se utiliza en algunas de las acciones del proceso, debe actualizar la definición de la acción y elegir otro espacio de nombres para la acción conflictiva.
Configuración de variables a nivel de acción
Una acción se configura para generar variables declarando un espacio de nombres para la acción. La acción ya debe ser uno de los proveedores de acciones que generan variables. De lo contrario, las variables disponibles son variables de nivel de canalización.
El espacio de nombres se declara mediante:
-
En la páginaEdit action (Editar acción) de la consola, introduciendo un espacio de nombres en Variable namespace (Espacio de nombres de variable).
-
Introducir un espacio de nombres en el campo de
namespace
parámetros de la estructura de la JSON tubería.
En este ejemplo, se añade el namespace
parámetro a la acción de CodeCommit origen con el nombre. SourceVariables
Esto configura la acción para producir las variables disponibles para ese proveedor de acciones, como 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 } ] },
A continuación, configure la acción descendente para utilizar las variables producidas por la acción anterior. Esto se hace del siguiente modo:
-
En la página Edit action (Editar acción) de la consola, introduciendo la sintaxis de variable (para la acción descendente) en los campos de configuración de acción.
-
Introducir la sintaxis de la variable (para la acción descendente) en los campos de configuración de la acción de la estructura de JSON canalización
En este ejemplo, el campo de configuración de la acción de compilación muestra variables de entorno que se actualizan en la ejecución de la acción. El ejemplo especifica el espacio de nombres y la variable para el ID de ejecución con #{codepipeline.PipelineExecutionId}
y el espacio de nombres y la variable para el ID de confirmación 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 } ] },
Resolución de variables
Cada vez que se ejecuta una acción como parte de una ejecución de canalización, las variables que produce están disponibles para su uso en cualquier acción que se garantice que ocurra después de la acción de producción. Para utilizar estas variables en una acción de consumo, puede agregarlas a la configuración de la acción de consumo utilizando la sintaxis mostrada en el ejemplo anterior. Antes de realizar una acción de consumo, CodePipeline resuelve todas las referencias de variables presentes en la configuración antes de iniciar la ejecución de la acción.
Reglas para variables
Las siguientes reglas le ayudan con la configuración de variables:
-
Especifique el espacio de nombres y la variable de una acción a través de una nueva propiedad de acción o editando una acción.
-
Cuando se utiliza el asistente de creación de canalizaciones, la consola genera un espacio de nombres para cada acción creada con el asistente.
-
Si no se especifica el espacio de nombres, no se puede hacer referencia a las variables producidas por esa acción en ninguna configuración de acción.
-
Para hacer referencia a variables producidas por una acción, la acción de referencia debe producirse después de la acción que produce las variables. Esto significa que está en una etapa posterior a la acción que produce las variable o en la misma etapa pero en un orden de ejecución más alto.
Variables disponibles para acciones de canalización
El proveedor de la acción determina qué variables puede generar la acción.
Para conocer step-by-step los procedimientos de administración de variables, consulteTrabajar con variables.
Acciones con claves de variables definidas
A diferencia de un espacio de nombres que puede elegir, las siguientes acciones utilizan claves de variables que no se pueden editar. Por ejemplo, para el proveedor de acciones de Amazon S3, solo están disponibles las claves de variables ETag
y VersionId
.
Cada ejecución también tiene un conjunto de variables de canalización CodePipeline generadas que contienen datos sobre la ejecución, como el ID de versión de la canalización. Estas variables las puede consumir cualquier acción de la canalización.
Temas
- CodePipeline ID de ejecución (variable)
- Variables de salida de ECR acciones de Amazon
- AWS CloudFormation StackSets variables de salida de la acción
- CodeCommit variables de salida de la acción
- CodeStarSourceConnection variables de salida de la acción
- GitHub variables de salida de la acción (versión de GitHub la acción 1)
- Variables de salida de acciones de S3
CodePipeline ID de ejecución (variable)
Proveedor | Clave de variable | Ejemplo de valor | Ejemplo de sintaxis de variables |
---|---|---|---|
codepipeline | PipelineExecutionId |
8abc75f0-fbf8-4f4c-bf EXAMPLE | #{codepipeline.PipelineExecutionId} |
Variables de salida de ECR acciones de Amazon
Clave de variable | Ejemplo de valor | Ejemplo de sintaxis de variables |
---|---|---|
ImageDigest |
sha256: EXAMPLE1122334455 | #{SourceVariables.ImageDigest} |
ImageTag |
más recientes | #{SourceVariables.ImageTag} |
ImageURI |
11111 EXAMPLE .dkr. ecr.us-west-2.amazonaws.com /ecs-repo:último | #{SourceVariables.ImageURI} |
RegistryId |
EXAMPLE12233 | #{SourceVariables.RegistryId} |
RepositoryName |
my-image-repo | #{SourceVariables.RepositoryName} |
AWS CloudFormation StackSets variables de salida de la acción
Clave de variable | Ejemplo de valor | Ejemplo de sintaxis de variables |
---|---|---|
OperationId |
11111111-2bbb-111-2bbb-11111example | #{DeployVariables.OperationId} |
StackSetId |
my-stackset:1111aaaa-1111-2222-2bbb-11111example | #{DeployVariables.StackSetId} |
CodeCommit variables de salida de la acción
Clave de variable | Ejemplo de valor | Ejemplo de sintaxis de variables |
---|---|---|
AuthorDate |
2019-10-29T03:32:21Z | #{SourceVariables.AuthorDate} |
BranchName |
desarrollo | #{SourceVariables.BranchName} |
CommitId |
exampleb01f91b31 |
#{SourceVariables.CommitId} |
CommitMessage |
Se ha corregido un error (tamaño máximo de 100 KB) | #{SourceVariables.CommitMessage} |
CommitterDate |
2019-10-29T03:32:21Z | #{SourceVariables.CommitterDate} |
RepositoryName |
myCodeCommitRepo | #{SourceVariables.RepositoryName} |
CodeStarSourceConnection variables de salida de la acción
Clave de variable | Ejemplo de valor | Ejemplo de sintaxis de variables |
---|---|---|
AuthorDate |
2019-10-29T03:32:21Z | #{SourceVariables.AuthorDate} |
BranchName |
desarrollo | #{SourceVariables.BranchName} |
CommitId |
exampleb01f91b31 |
#{SourceVariables.CommitId} |
CommitMessage |
Se ha corregido un error (tamaño máximo de 100 KB) | #{SourceVariables.CommitMessage} |
ConnectionArn |
arn:aws:codestar-connections:region:account-id : conexión/connection-id |
#{SourceVariables.ConnectionArn} |
FullRepositoryName |
nombre de usuario/ GitHubRepo | #{SourceVariables.FullRepositoryName} |
GitHub variables de salida de la acción (versión de GitHub la acción 1)
Clave de variable | Ejemplo de valor | Ejemplo de sintaxis de variables |
---|---|---|
AuthorDate |
2019-10-29T03:32:21Z | #{SourceVariables.AuthorDate} |
BranchName |
main | #{SourceVariables.BranchName} |
CommitId |
exampleb01f91b31 |
#{SourceVariables.CommitId} |
CommitMessage |
Se ha corregido un error (tamaño máximo de 100 KB) |
#{SourceVariables.CommitMessage} |
CommitterDate |
2019-10-29T03:32:21Z | #{SourceVariables.CommitterDate} |
CommitUrl |
#{SourceVariables.CommitUrl} |
|
RepositoryName |
myGitHubRepo | #{SourceVariables.RepositoryName} |
Variables de salida de acciones de S3
Clave de variable | Ejemplo de valor | Ejemplo de sintaxis de variables |
---|---|---|
ETag |
example28be1c3 | #{SourceVariables.ETag} |
VersionId |
exampleta_ IUQCv | #{SourceVariables.VersionId} |
Acciones con claves de variables configuradas por el usuario
Para CodeBuild las AWS CloudFormation acciones de Lambda y Lambda, el usuario configura las claves variables.
Temas
CloudFormation variables de salida de la acción
Clave de variable | Ejemplo de sintaxis de variables |
---|---|
En el caso de las AWS CloudFormation acciones, las variables se generan a partir de cualquier valor designado en la
|
#{DeployVariables.StackName} |
CodeBuild variables de salida de una acción
Clave de variable | Ejemplo de sintaxis de variables |
---|---|
En el CodeBuild caso de las acciones, las variables se generan a partir de los valores generados por las variables de entorno exportadas. Configure una variable de CodeBuild entorno editando la CodeBuild acción CodePipeline o añadiendo la variable de entorno a la especificación de compilación. Añade instrucciones a la especificación de CodeBuild compilación para añadir la variable de entorno en la sección de variables exportadas. Consulte env/exported-variables en la Guía del usuario de AWS CodeBuild . |
|
Variables de salida de acciones de Lambda
Clave de variable | Ejemplo de sintaxis de variables |
---|---|
La acción Lambda generará como variables todos los pares clave-valor que se incluyen en la outputVariables sección de la solicitud. PutJobSuccessResult API Para ver un tutorial sobre una acción de Lambda que utiliza variables de una acción anterior (CodeCommit) y genera variables de salida, consulte. Tutorial: Uso de variables con acciones de invocación de Lambda |
#{TestVariables.testRunId} |