

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.

# Tutorial: Uso de variables a nivel de canalización
<a name="tutorials-pipeline-variables"></a>

En este tutorial, crearás una canalización en la que añadirás una variable a nivel de canalización y ejecutarás una acción de CodeBuild creación que generará el valor de la variable.

**importante**  
Como parte de la creación de una canalización, se utilizará un depósito de artefactos de S3 proporcionado por el cliente CodePipeline para crear artefactos. (Es diferente del bucket que se usa para una acción de origen de S3). Si el depósito de artefactos de S3 está en una cuenta diferente a la de tu canalización, asegúrate de que el depósito de artefactos de S3 pertenezca a una Cuentas de AWS persona segura y fiable.

**Topics**
+ [Requisitos previos](#tutorials-pipeline-variables-prereq)
+ [Paso 1: Crear la canalización y compilar el proyecto](#tutorials-pipeline-variables-pipeline)
+ [Paso 2: Publicar los cambios y ver los registros](#tutorials-pipeline-variables-view)

## Requisitos previos
<a name="tutorials-pipeline-variables-prereq"></a>

Antes de empezar, debe hacer lo siguiente:
+ Crea un repositorio. CodeCommit 
+ Añada un archivo .txt al repositorio.

## Paso 1: Crear la canalización y compilar el proyecto
<a name="tutorials-pipeline-variables-pipeline"></a>

En esta sección, debe crear una canalización con las siguientes acciones:
+ Una etapa de origen con una conexión a tu CodeCommit repositorio.
+ Una etapa de creación con una acción de AWS CodeBuild creación.

**Para crear una canalización con el asistente**

1. Inicia sesión en la CodePipeline consola en [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. En la página **Bienvenido**, **Introducción** o en la página **Canalizaciones**, elija **Crear canalización**.

1. En la página **Paso 1: elección de la opción de creación**, en **Opciones de creación**, seleccione la opción **Crear una canalización personalizada**. Elija **Siguiente**.

1. En **Paso 2: elegir la configuración de la canalización**, en **Nombre de la canalización**, escriba **MyVariablesPipeline**.

1. En **Tipo de canalización**, mantenga la selección predeterminada en **V2**. Los tipos de canalización difieren en características y precio. Para obtener más información, consulte [Tipos de canalización](pipeline-types.md).

1. En **Service role (Rol de servicio)**, elija **New service role (Nuevo rol de servicio)**.
**nota**  
Si opta por utilizar su función de CodePipeline servicio actual, asegúrese de haber añadido el permiso de `codeconnections:UseConnection` IAM a su política de función de servicio. Para obtener instrucciones sobre la función de CodePipeline servicio, consulte [Añadir permisos a la función de CodePipeline servicio](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-iam.html#how-to-update-role-new-services).

1. En **Variables**, seleccione **Añadir variable**. En **Name (Nombre)**, escriba `timeout`. En **Predeterminado**, escriba 1000. En la descripción, introduzca la siguiente descripción: **Timeout**.

   Esto creará una variable en la que podrá declarar el valor cuando comience la ejecución de la canalización. Los nombres de las variables deben coincidir con `[A-Za-z0-9@\-_]+` y pueden ser cualquier cosa excepto una cadena vacía.

1. Para **Configuración avanzada** deje los valores predeterminados. En **Artifact store** (Almacén de artefactos), elija **Default location** (Ubicación predeterminada) para utilizar el almacén de artefactos predeterminado, como el bucket de artefacto de Amazon S3 que se estableció como predeterminado, para la canalización en la región que seleccionó para esta.
**nota**  
Este no es el bucket de origen para su código fuente. Este es el almacén de artefactos de la canalización. Cada canalización debe tener su propio almacén de artefactos independiente, como un bucket de S3.

   Elija **Siguiente**.

1. En la página **Paso 3: agregar la etapa de origen**, agregue una etapa de origen:

   1. En **Source provider (Proveedor de código fuente)**, elija **AWS CodeCommit**.

   1. En **Nombre del repositorio** y **Nombre de la ramificación**, elija su repositorio y ramificación.

   Elija **Siguiente**.

1. En **Paso 4: agregación de la etapa de compilación**, agregue una etapa de compilación:

   1. En **Build provider (Proveedor de compilación)**, elija **AWS CodeBuild**. En el campo **Region (Región)** conserve el valor predeterminado de la región de la canalización.

   1. Elija **Crear proyecto**.

   1. En **Project name (Nombre de proyecto)**, escriba un nombre para este proyecto de compilación.

   1. En **Environment image (Imagen de entorno)**, elija **Managed image (Imagen administrada)**. En **Operating system (Sistema operativo)**, elija **Ubuntu**.

   1. En **Runtime**, elija **Standard (Estándar)**. **En **Imagen**, escoja: 5.0. aws/codebuild/standard**

   1. En **Service role (Rol de servicio)**, elija **New service role (Nuevo rol de servicio)**.
**nota**  
Anote el nombre de su función de servicio. CodeBuild Necesitará el nombre del rol para el paso final de este tutorial.

   1. En **Buildspec**, para **Build specifications** (Especificaciones de la compilación), elija **Insert build commands** (Insertar comandos de compilación). Elija **Cambiar a editor** y pegue lo siguiente en **Comandos de compilación**: En la especificación de compilación, se utilizará la variable de cliente `$CUSTOM_VAR1` para generar la variable de canalización en el registro de compilación. En el siguiente paso, creará la variable de salida `$CUSTOM_VAR1` como variable de entorno.

      ```
      version: 0.2
      #env:
        #variables:
           # key: "value"
           # key: "value"
        #parameter-store:
           # key: "value"
           # key: "value"
        #git-credential-helper: yes
      phases:
        install:
          #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions.
          #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails.
          runtime-versions:
            nodejs: 12
          #commands:
            # - command
            # - command
        #pre_build:
          #commands:
            # - command
            # - command
        build:
          commands:
            - echo $CUSTOM_VAR1
        #post_build:
          #commands:
            # - command
            # - command
      artifacts:
        files:
           - '*'
          # - location
        name: $(date +%Y-%m-%d)
        #discard-paths: yes
        #base-directory: location
      #cache:
        #paths:
          # - paths
      ```

   1. Selecciona **Continuar a CodePipeline**. Esto vuelve a la CodePipeline consola y crea un CodeBuild proyecto que utiliza los comandos de compilación para la configuración. El proyecto de compilación usa un rol de servicio para administrar Servicio de AWS los permisos. Es posible que este paso tarde un par de minutos.

   1. En **Variables de entorno *(opcional)***, para crear una variable de entorno como variable de entrada para la acción de creación que resolverá la variable a nivel de canalización, elija **Añadir variable de entorno**. Esto creará la variable especificada en la especificación de compilación como `$CUSTOM_VAR1`. En **Name (Nombre)**, escriba `CUSTOM_VAR1`. En **Valor**, escriba `#{variables.timeout}`. En **Tipo**, elija `Plaintext`.

      El `#{variables.timeout}` valor de la variable de entorno se basa en el espacio de nombres de la variable a nivel de canalización `variables` y en la variable a nivel de canalización `timeout` creada para la canalización en el paso 7.

   1. Elija **Siguiente**.

1. En **Paso 5: agregación de la etapa de prueba**, elija **Omitir la etapa de prueba** y, a continuación, acepte el mensaje de advertencia eligiendo **Omitir** una vez más. 

   Elija **Siguiente**.

1. **En la página **Paso 6: Añadir fase de despliegue, seleccione Omitir fase** **de despliegue** y, a continuación, acepte el mensaje de advertencia seleccionando Omitir de nuevo.** Elija **Siguiente**.

1. En el **paso 7: Revisar**, selecciona **Crear canalización**.

## Paso 2: Publicar los cambios y ver los registros
<a name="tutorials-pipeline-variables-view"></a>

1. Después de que la canalización se ejecute correctamente, en la etapa de implementación, elija **Ver detalles**.

   En la página de detalles, elija la pestaña **Registros**. Vea el resultado de la CodeBuild compilación. Los comandos muestran el valor de la variable introducida.

1. En el panel de navegación de la izquierda, elija **Historial**.

   Elija la ejecución reciente y, a continuación, elija la pestaña **Variables**. Vea el valor resuelto de la variable de canalización.