Tutorial: Cómo crear una regla de verificación de variables para una canalización como una condición de entrada - AWS CodePipeline

Tutorial: Cómo crear una regla de verificación de variables para una canalización como una condición de entrada

En este tutorial, va a configurar una canalización que enviará constantemente archivos mediante GitHub como proveedor de acciones de origen en la etapa de origen. La canalización completa detecta cambios cuando se realiza un cambio en los archivos de código fuente en el repositorio de código fuente. La canalización se ejecuta y, a continuación, compara las variables de salida con el nombre del repositorio de origen y el nombre de la ramificación proporcionados en la condición de entrada a la etapa de compilación.

importante

Como parte de la creación de una canalización, CodePipeline utilizará un bucket de artefactos de S3 proporcionado por el cliente para los artefactos. (Es diferente del bucket que se usa para una acción de origen de S3). Si el bucket de artefactos de S3 se encuentra en una cuenta diferente a la cuenta de su canalización, asegúrese de que el bucket de artefactos de S3 pertenezca a Cuentas de AWS que sean seguras y fiables.

importante

Muchas de las acciones que agrega a su canalización en este procedimiento implican recursos de AWS que debe crear antes de crear la canalización. Los recursos de AWSpara las acciones de origen siempre deben crearse en la misma región de AWS en la que se creó la canalización. Por ejemplo, si crea la canalización en la región Este de EE. UU. (Ohio), el repositorio de CodeCommit debe estar en la región Este de EE. UU. (Ohio).

Puede añadir acciones entre regiones al crear su canalización. Los recursos de AWS para las acciones entre regiones deben estar en la misma región de AWS en la que planea ejecutar la acción. Para obtener más información, consulte Agregar una acción entre regiones en CodePipeline.

En este ejemplo, se usa la canalización de ejemplo con una acción de origen de GitHub (Versión 2) y una acción de compilación de CodeBuild, en las que la condición de entrada de la etapa de compilación verificará las variables.

Requisitos previos

Antes de empezar, debe hacer lo siguiente:

  • Cree un repositorio de GitHub con su cuenta de GitHub.

  • Tenga listas las credenciales de GitHub. Cuando utiliza la Consola de administración de AWS para configurar una conexión, se le pide que inicie sesión con sus credenciales de GitHub.

  • Una conexión a su repositorio para configurar GitHub (mediante la aplicación de GitHub) como la acción de origen de la canalización. Para crear una conexión a su repositorio de GitHub, consulte Conexiones de GitHub.

Paso 1: creación de un archivo de código fuente de muestra e inclusión en el repositorio de GitHub

En esta sección, debe crear y agregar los archivos de código fuente al repositorio que utiliza la canalización para la etapa de origen. Para este ejemplo, va a generar y agregar lo siguiente:

  • Un archivo README.md.

Después de crear su repositorio de GitHub, siga estos pasos para agregar un archivo README.

  1. Inicie sesión en su repositorio de GitHub y elija su repositorio.

  2. Para crear un nuevo archivo, seleccione Agregar el archivo y, a continuación, Crear nuevo archivo. Asigne un nombre al archivo README.md y agregue el siguiente texto.

    This is a GitHub repository!
  3. Seleccione Confirmar cambios. Para los fines de este tutorial, agregue un mensaje de confirmación que contenga la palabra “Update” en mayúscula, como en el siguiente ejemplo:

    Update to source files
    nota

    La verificación de reglas para cadenas distingue entre mayúsculas y minúsculas.

    Asegúrese de que el archivo README.md está en el nivel raíz del repositorio.

Paso 2: Crear la canalización

En esta sección, debe crear una canalización con las siguientes acciones:

  • una etapa de origen con una conexión a la acción y el repositorio de GitHub

  • Una etapa de compilación de CodeBuild en la que la etapa tiene una condición de entrada configurada para la regla de verificación de variables.

Para crear una canalización con el asistente
  1. Inicie sesión en la consola de CodePipeline en https://console.aws.amazon.com/codepipeline/.

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

  3. 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.

  4. En Paso 2: elegir la configuración de la canalización, en Nombre de la canalización, escriba MyVarCheckPipeline.

  5. CodePipeline proporciona canalizaciones de tipo V1 y V2, que difieren en características y precio. El tipo V2 es el único tipo que puede elegir en la consola. Para obtener más información, consulte Tipos de canalización. Para obtener más información acerca de los precios de CodePipeline, consulte Precios.

  6. En Service role (Rol de servicio), elija New service role (Nuevo rol de servicio).

    nota

    Si, en cambio, elige utilizar la función de servicio de CodePipeline existente, asegúrese de haber agregado el permiso de IAM codeconnections:UseConnection a la política de la función de servicio. Para obtener instrucciones acerca de la función de servicio de CodePipeline, consulte Agregar permisos a la función de servicio de CodePipeline.

  7. Para Configuración avanzada deje los valores predeterminados.

    Elija Siguiente.

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

    1. En Proveedor de origen, elija GitHub (mediante la aplicación de GitHub).

    2. En Conexión, seleccione una conexión existente o cree una nueva. Para crear o administrar una conexión para su acción de origen de GitHub, consulte Conexiones de GitHub.

    3. En Nombre de repositorio, elija el nombre de su repositorio de GitHub.

    4. En Nombre de ramificación, elija la ramificación de repositorio que desea utilizar.

    5. Compruebe que la opción Sin desencadenador esté seleccionada.

    Elija Siguiente.

  9. 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.

    2. Elija Crear proyecto.

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

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

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

    6. En Service role (Rol de servicio), elija New service role (Nuevo rol de servicio).

      nota

      Anote el nombre de su rol de servicio de CodeBuild. Necesitará el nombre del rol para el paso final de este tutorial.

    7. 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:

      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: - #post_build: #commands: # - command # - command artifacts: files: - '*' # - location name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths
    8. Elija Continue to CodePipeline (Continuar en CodePipeline). Esto vuelve a la consola de CodePipeline y crea un proyecto de CodePipeline que utiliza los comandos de compilación para la configuración. El proyecto de compilación utiliza un rol de servicio para administrar los permisos del Servicio de AWS. Es posible que este paso tarde un par de minutos.

    9. Elija Siguiente.

  10. 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.

  11. En la página Paso 6: agregar la etapa de implementación, elija Omitir la etapa de implementación y, a continuación, acepte el mensaje de advertencia eligiendo Omitir una vez más. Elija Siguiente.

  12. En el Paso 7: revisión, elija Crear la canalización.

Paso 2: edición de la etapa de compilación para agregar la condición y la regla

En este paso, va a editar la etapa para agregar una condición de entrada a la regla de verificación de variables.

  1. Seleccione su canalización y, a continuación, elija Editar. Elija agregar una regla de entrada en la etapa de compilación.

    En Proveedor de reglas, elija VariableCheck.

  2. En Variable, introduzca la variable o variables que desee verificar. En Valor, introduzca el valor de la cadena para compararlo con la variable resuelta. En las siguientes pantallas de ejemplo, se crea una regla para una verificación “igual a” y otra regla para una verificación “contiene”.

    La página de creación de reglas para la verificación de la variable “igual a”
    La página de creación de reglas para la verificación de la variable “contiene”
  3. Seleccione Save.

    Seleccione Listo.

Paso 3: ejecución de la canalización y visualización de las variables resueltas

En este paso, va a ver los valores resueltos y los resultados de la regla de verificación de variables.

  1. Vea la ejecución resuelta una vez que la verificación de reglas se haya realizado correctamente, tal y como se muestra en el siguiente ejemplo.

    La ejecución realizada correctamente
  2. Vea la información de las variables en la pestaña Línea temporal.

    La página de historial que muestra la pestaña Línea temporal con variables verificadas correctamente