Trabajar con variables - AWS CodePipeline

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.

Trabajar con variables

Algunas acciones CodePipeline generan variables. Para utilizar variables:

  • Asigne un espacio de nombres a una acción para que las variables que produce estén disponibles para una configuración de acción descendente.

  • Configure la acción descendente para que consuma las variables generadas por la acción.

    Puede ver los detalles de cada ejecución de acción para ver los valores de cada variable de salida generados por la acción en tiempo de ejecución.

Para ver step-by-step ejemplos del uso de variables:

Configuración de acciones para variables

Cuando agrega una acción a la canalización, puede asignarle un espacio de nombres y configurarla para que consuma variables de acciones anteriores.

Configuración de acciones con variables (consola)

En este ejemplo, se crea una canalización con una acción de CodeCommit origen y una acción de CodeBuild compilación. La CodeBuild acción está configurada para consumir las variables producidas por la CodeCommit acción.

Si no se especifica el espacio de nombres, las variables no están disponibles para referencia en la configuración de la acción. Cuando se utiliza la consola para crear una canalización, el espacio de nombres de cada acción se genera automáticamente.

Para crear una canalización con variables
  1. Inicie sesión en la CodePipeline consola AWS Management Console y ábrala en http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Elija Crear canalización. Escriba un nombre para la canalización y, a continuación, elija Next (Siguiente).

  3. En Fuente, en Proveedor, elija CodeCommit. Elija el CodeCommit repositorio y la rama para la acción de origen y, a continuación, elija Siguiente.

  4. En Build, en Provider, elija CodeBuild. Elija un nombre de proyecto de CodeBuild construcción existente o elija Crear proyecto. En Crear proyecto de construcción, cree un proyecto de construcción y, a continuación, elija Volver a CodePipeline.

    En Environment variables (Variables de entorno), elija Add environment variables (Añadir variables de entorno). Por ejemplo, introduzca el ID de ejecución con la sintaxis de la variable #{codepipeline.PipelineExecutionId} y el ID de confirmación con la sintaxis de la variable #{SourceVariables.CommitId}.

    nota

    Puede introducir sintaxis de variable en cualquier campo de configuración de acción del asistente.

  5. Seleccione Crear.

  6. Una vez creada la canalización, puede ver el espacio de nombres creado por el asistente. En la canalización, elija el icono de la etapa para el que desea ver el espacio de nombres. En este ejemplo, se muestra el espacio de nombres generado automáticamente por la acción de origen, SourceVariables.

    Ejemplo: pantalla de información de acción
Para editar el espacio de nombres de una acción existente
  1. Inicie sesión AWS Management Console y abra la CodePipeline consola en http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Elija la canalización que desea editar y, a continuación, elija Edit (Editar). En la etapa de código fuente, elija Edit stage (Editar etapa). Añada la CodeCommit acción.

  3. En Edit action (Editar acción), consulte el campo Variable namespace (Espacio de nombres de variable). Si la acción existente se creó previamente o sin utilizar el asistente, debe agregar un espacio de nombres. En Variable namespace (Espacio de nombres de variable), introduzca un nombre de espacio de nombres y, a continuación, elija Save (Guardar).

Para ver variables de salida
  1. Inicie sesión en la CodePipeline consola AWS Management Console y ábrala en http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Una vez creada la canalización y ejecutada correctamente, puede ver las variables en la página Action execution details (Detalles de ejecución de acciones). Para obtener más información, consulte Ver variables (consola).

Configure las acciones para las variables (CLI)

Cuando utiliza el comando create-pipeline para crear una canalización o el comando update-pipeline para editar una canalización, puede hacer referencia o utilizar variables en la configuración de una acción.

Si no se especifica el espacio de nombres, las variables producidas por la acción no están disponibles para hacer referencia en ninguna configuración de acción descendente.

Para configurar una acción con un espacio de nombres
  1. Siga los pasos que se indican Crea una canalización, etapas y acciones para crear una canalización conCLI. Inicie un archivo de entrada para proporcionar el comando create-pipeline con el parámetro --cli-input-json. En la estructura de la canalización, agregue el namespace parámetro y especifique un nombre, como SourceVariables.

    . . . { "inputArtifacts": [], "name": "Source", "region": "us-west-2", "namespace": "SourceVariables", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "CodeCommit" }, "outputArtifacts": [ . . .
  2. Guarde el archivo con un nombre como MyPipeline.json.

  3. En un terminal (Linux, macOS o Unix) o símbolo del sistema (Windows), ejecute el comando create-pipeline y cree la canalización.

    Llame el archivo que creó al ejecutar el comando create-pipeline. Por ejemplo:

    aws codepipeline create-pipeline --cli-input-json file://MyPipeline.json
Para configurar acciones descendentes para consumir variables
  1. Edite un archivo de entrada para proporcionar el comando update-pipeline con el parámetro --cli-input-json. En la acción descendente, agregue la variable a la configuración de esa acción. Una variable se compone de un espacio de nombres y clave, separados por un punto. Por ejemplo, para agregar variables para el ID de ejecución de canalización y el ID de confirmación de origen, especifique el espacio de nombres codepipeline de la variable #{codepipeline.PipelineExecutionId}. Especifique el espacio de nombres SourceVariables para la variable #{SourceVariables.CommitId}.

    { "name": "Build", "actions": [ { "outputArtifacts": [ { "name": "BuildArtifacts" } ], "name": "Build", "configuration": { "EnvironmentVariables": "[{\"name\":\"Execution_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 } ] },
  2. Guarde el archivo con un nombre como MyPipeline.json.

  3. En un terminal (Linux, macOS o Unix) o símbolo del sistema (Windows), ejecute el comando create-pipeline y cree la canalización.

    Llame el archivo que creó al ejecutar el comando create-pipeline. Por ejemplo:

    aws codepipeline create-pipeline --cli-input-json file://MyPipeline.json

Ver variables de salida

Puede ver los detalles de ejecución de la acción para ver las variables de esa acción, específicas de cada ejecución.

Ver variables (consola)

Puede utilizar la consola para ver las variables de una acción.

  1. Inicia sesión en la CodePipeline consola AWS Management Console y ábrela en http://console.aws.amazon.com/codesuite/codepipeline/home.

    Se muestran los nombres de todas las canalizaciones asociadas a tu AWS cuenta.

  2. En Name, elija el nombre de la canalización.

  3. Elija Ver historial.

  4. Después de que la canalización se ejecute correctamente, puede ver las variables producidas por la acción de origen. Elija Ver historial. Selecciona Fuente en la lista de acciones de la ejecución de la canalización para ver los detalles de la ejecución de la CodeCommit acción. En la pantalla de detalles de la acción, vea las variables en Output variables (Variables de salida).

    Ejemplo: variables de salida de origen
  5. Después de que la canalización se ejecute correctamente, puede ver las variables consumidas por la acción de compilación. Elija Ver historial. En la lista de acciones de la ejecución de la canalización, seleccione Crear para ver los detalles de la ejecución de la CodeBuild acción. En la página de detalles de la acción, vea las variables en Action configuration (Configuración de acción). Se muestra el espacio de nombres generado automáticamente.

    Ejemplo: variables de configuración de acciones

    De forma predeterminada, Action configuration (Configuración de acción) muestra la sintaxis de la variable. Puede elegir Show resolved configuration (Mostrar configuración resuelta) para alternar la lista y mostrar los valores que se produjeron durante la ejecución de la acción.

    Ejemplo: variables de configuración de acciones resueltas

Ver variables (CLI)

Puede utilizar el comando list-action-executions para ver las variables de una acción.

  1. Utilice el siguiente comando:

    aws codepipeline list-action-executions

    La salida muestra el parámetro outputVariables como se muestra aquí.

    "outputVariables": { "BranchName": "main", "CommitMessage": "Updated files for test", "AuthorDate": "2019-11-08T22:24:34Z", "CommitId": "d99b0083cc10EXAMPLE", "CommitterDate": "2019-11-08T22:24:34Z", "RepositoryName": "variables-repo" },
  2. Utilice el siguiente comando:

    aws codepipeline get-pipeline --name <pipeline-name>

    En la configuración de la CodeBuild acción, puede ver las variables:

    { "name": "Build", "actions": [ { "outputArtifacts": [ { "name": "BuildArtifact" } ], "name": "Build", "configuration": { "EnvironmentVariables": "[{\"name\":\"Execution_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 } ] },

Ejemplo: Usar variables en aprobaciones manuales

Cuando especifica un espacio de nombres para una acción y esa acción produce variables de salida, puede añadir una aprobación manual que muestre variables en el mensaje de aprobación. En este ejemplo se muestra cómo añadir sintaxis de variables a un mensaje de aprobación manual.

  1. Inicie sesión en la CodePipeline consola AWS Management Console y ábrala en http://console.aws.amazon.com/codesuite/codepipeline/home.

    Se muestran los nombres de todas las canalizaciones asociadas a tu AWS cuenta. Elija la canalización la que desea añadir la aprobación.

  2. Para editar la canalización, elija Edit (Editar). Añada una aprobación manual después de la acción de código fuente. En Action name (Nombre de la acción), escriba el nombre de la acción de aprobación.

  3. En Action provider (Proveedor de acciones), elija Manual approval (Aprobación manual).

  4. URLPara revisarla, añada la sintaxis variable correspondiente CommitId a su CodeCommit URL. Asegúrese de utilizar el espacio de nombres asignado a la acción de código fuente. Por ejemplo, la sintaxis variable de una CodeCommit acción con el espacio de nombres SourceVariables predeterminado es. #{SourceVariables.CommitId}

    En Comentarios, en CommitMessage, introduzca el mensaje de confirmación:

    Please approve this change. Commit message: #{SourceVariables.CommitMessage}
  5. Una vez que la canalización se ejecute correctamente, puede ver los valores de las variables en el mensaje de aprobación.

Ejemplo: utilice una BranchName variable con CodeBuild variables de entorno

Cuando agregas una CodeBuild acción a tu canalización, puedes usar variables de CodeBuild entorno para hacer referencia a una variable de BranchName salida de una acción fuente anterior. Con una variable de salida de una acción CodePipeline, puedes crear tus propias variables de CodeBuild entorno para usarlas en tus comandos de compilación.

En este ejemplo, se muestra cómo añadir la sintaxis de una variable de salida de una acción de GitHub origen a una variable de CodeBuild entorno. La sintaxis de la variable de salida de este ejemplo representa la variable de salida de la acción de GitHub origen paraBranchName. Una vez que la acción se ejecute correctamente, la variable se resuelve para mostrar el nombre de la GitHub rama.

  1. Inicie sesión AWS Management Console y abra la CodePipeline consola en http://console.aws.amazon.com/codesuite/codepipeline/home.

    Se muestran los nombres de todas las canalizaciones asociadas a tu AWS cuenta. Elija la canalización la que desea añadir la aprobación.

  2. Para editar la canalización, elija Edit (Editar). En la etapa que contiene tu CodeBuild acción, selecciona Editar etapa.

  3. Elige el icono para editar la CodeBuild acción.

  4. En la página Editar acción, en Variables de entorno, introduzca lo siguiente:

    • En Nombre, introduzca un nombre para su variable de entorno.

    • En Valor, introduzca la sintaxis de la variable de salida de la canalización, que incluye el espacio de nombres asignado a la acción de origen. Por ejemplo, la sintaxis de la variable de salida para una GitHub acción con el espacio de nombres SourceVariables predeterminado es. #{SourceVariables.BranchName}

    • En Tipo, seleccione Texto sin formato.

  5. Una vez que la canalización se ejecute correctamente, podrá ver cómo la variable de salida resuelta es el valor de la variable de entorno. Seleccione una de las siguientes opciones:

    • CodePipeline consola: elige tu canalización y, a continuación, selecciona Historial. Elija la ejecución de la canalización más reciente.

      • En Línea temporal, seleccione el selector de origen. Esta es la acción de origen que genera las variables GitHub de salida. Elija Ver detalles de ejecución. En Variables de salida, consulte la lista de variables de salida generadas por esta acción.

      • En Línea temporal, seleccione el selector de Compilar. Esta es la acción de compilación que especifica las variables de CodeBuild entorno del proyecto de compilación. Elija Ver detalles de ejecución. En Configuración de acciones, consulta las variables de CodeBuild entorno. Seleccione Mostrar configuración resuelta. El valor de la variable de entorno es la variable BranchName de salida resuelta de la acción de GitHub origen. En este ejemplo, el valor resuelto es main.

        Para obtener más información, consulte Ver variables (consola).

    • CodeBuild consola: elige tu proyecto de compilación y elige el enlace para la ejecución de la compilación. En Variables de entorno, la variable de salida resuelta es el valor de la variable de CodeBuild entorno. En este ejemplo, el nombre de la variable de entorno es BranchName y el valor es la variable de BranchName salida resuelta de la acción de GitHub origen. En este ejemplo, el valor resuelto es main.

    Captura de pantalla que muestra la variable resuelta en la consola