Tutorial: Carga artefactos a Amazon S3 - Amazon CodeCatalyst

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: Carga artefactos a Amazon S3

En este tutorial, aprenderás a cargar artefactos a un bucket de Amazon S3 mediante un CodeCatalyst flujo de trabajo de Amazon que incluye un par de acciones de compilación. Estas acciones se ejecutan en serie cuando se inicia el flujo de trabajo. La primera acción de construcción genera dos archivos Hello.txt y Goodbye.txt los agrupa en un artefacto de construcción. La segunda acción de construcción carga el artefacto en Amazon S3. Configurará el flujo de trabajo para que se ejecute cada vez que envíe una confirmación a su repositorio de origen.

Requisitos previos

Antes de comenzar, necesitará lo siguiente:

  • Necesitas un CodeCatalyst espacio con una AWS cuenta conectada. Para obtener más información, consulte Crear un espacio.

  • En tu espacio, necesitas un proyecto vacío llamado:

    codecatalyst-artifact-project

    Usa la opción Empezar desde cero para crear este proyecto.

    Para obtener más información, consulte Crear un proyecto vacío en Amazon CodeCatalyst.

  • En su proyecto, necesita un CodeCatalyst entorno llamado:

    codecatalyst-artifact-environment

    Configure este entorno de la siguiente manera:

    • Elija cualquier tipo, como Desarrollo.

    • Conecta tu AWS cuenta a ella.

    • Para el IAMrol predeterminado, elige cualquier rol. Especificará un rol diferente más adelante.

    Para obtener más información, consulte Implementación en Cuentas de AWS y VPCs.

Paso 1: Crear un AWS rol

En este paso, crea un AWS IAM rol que luego asignará a la acción de creación en su flujo de trabajo. Este rol otorga a la acción de CodeCatalyst construcción el permiso para acceder a tu AWS cuenta y escribir en Amazon S3, donde se almacenará tu artefacto. La función se denomina función de creación.

nota

Si ya tienes un rol de compilación que creaste para otro tutorial, también puedes usarlo para este tutorial. Solo asegúrate de que tiene los permisos y la política de confianza que se muestran en el siguiente procedimiento.

Para obtener más información sobre las IAM funciones, consulte IAMlas funciones en la Guía del AWS AWS Identity and Access Management usuario.

Para crear un rol de compilación
  1. Cree una política para el rol, de la siguiente manera:

    1. Inicie sesión en AWS.

    2. Abre la IAM consola en https://console.aws.amazon.com/iam/.

    3. En el panel de navegación, seleccione Políticas.

    4. Elija Create Policy (Crear política).

    5. Seleccione la JSONpestaña.

    6. Elimina el código existente.

    7. Pegue el siguiente código:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": "*" } ] }
      nota

      La primera vez que se utilice el rol para ejecutar acciones de flujo de trabajo, utilice el comodín en la declaración de política de recursos y, a continuación, defina la política con el nombre del recurso cuando esté disponible.

      "Resource": "*"
    8. Elija Siguiente: Etiquetas.

    9. Elija Siguiente: Revisar.

    10. En Nombre, introduzca:

      codecatalyst-s3-build-policy
    11. Elija Crear política.

      Ahora ha creado una política de permisos.

  2. Cree el rol de compilación de la siguiente manera:

    1. En el panel de navegación, seleccione Roles y luego seleccione Crear rol.

    2. Elija Política de confianza personalizada.

    3. Elimine la política de confianza personalizada existente.

    4. Añada la siguiente política de confianza personalizada:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Elija Next (Siguiente).

    6. En Políticas de permisos, busque codecatalyst-s3-build-policy y active su casilla de verificación.

    7. Elija Next (Siguiente).

    8. En Nombre del rol, escriba:

      codecatalyst-s3-build-role
    9. En la descripción del rol, introduzca:

      CodeCatalyst build role
    10. Elija Crear rol.

    Ahora ha creado un rol de compilación con una política de confianza y una política de permisos.

Paso 2: Crear un bucket de Amazon S3

En este paso, crearás un bucket de Amazon S3 en el Hello.txt que se cargarán los Goodbye.txt artefactos.

Creación de un bucket de Amazon S3
  1. Abra la consola Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel principal, elija Crear depósito.

  3. En el nombre del bucket, introduce:

    codecatalyst-artifact-bucket
  4. En AWS Región, seleccione una región. En este tutorial se asume que ha elegido US West (Oregon) us-west-2. Para obtener información sobre las regiones compatibles con Amazon S3, consulte los puntos de enlace y las cuotas de Amazon Simple Storage Service en. Referencia general de AWS

  5. En la parte inferior de la página, selecciona Crear depósito.

  6. Copia el nombre del depósito que acabas de crear, por ejemplo:

    codecatalyst-artifact-bucket

Ahora ha creado un bucket denominado codecatalyst-artifact-bucket en la región us-west-2 de EE. UU. Oeste (Oregón).

Paso 3: Crea un repositorio de código fuente

En este paso, crearás un repositorio de fuentes en CodeCatalyst. Este repositorio se utiliza para almacenar el archivo de definición del flujo de trabajo del tutorial.

Para obtener más información sobre los repositorios de fuentes, consulteCrear un repositorio de código fuente.

Para crear un repositorio de origen
  1. Abra la CodeCatalyst consola en https://codecatalyst.aws/.

  2. Navegue hasta su proyecto,codecatalyst-artifact-project.

  3. En el panel de navegación, elija Código y, a continuación, elija Repositorios de origen.

  4. Elija Agregar repositorio y, a continuación, elija Crear repositorio.

  5. En Nombre del repositorio, ingresa:

    codecatalyst-artifact-source-repository
  6. Seleccione Crear.

Ahora ha creado un repositorio llamadocodecatalyst-artifact-source-repository.

Paso 4: Crear un flujo de trabajo

En este paso, se crea un flujo de trabajo que consta de los siguientes componentes básicos que se ejecutan de forma secuencial:

  • Un disparador: este activador inicia la ejecución automática del flujo de trabajo al introducir un cambio en el repositorio de origen. Para obtener más información sobre los activadores, consulteIniciar un flujo de trabajo, ejecutarlo automáticamente mediante activadores.

  • Una acción de compilación denominadaGenerateFiles: Al activarse, la GenerateFiles acción crea dos archivos Hello.txt y Goodbye.txt los empaqueta en un artefacto de salida denominadocodecatalystArtifact.

  • Otra acción de compilación denominadaUpload: Al finalizar la GenerateFiles acción, la Upload acción ejecuta el AWS CLI comando aws s3 sync para cargar los archivos del repositorio de origen codecatalystArtifact y del mismo a su bucket de Amazon S3. AWS CLI Viene preinstalado y preconfigurado en la plataforma de CodeCatalyst cómputo, por lo que no es necesario instalarlo ni configurarlo.

    Para obtener más información sobre el software preempaquetado en la plataforma CodeCatalyst informática, consulte. Especificación de imágenes del entorno de ejecución Para obtener más información sobre el AWS CLIaws s3 sync comando, consulta sync en la Referencia de AWS CLI comandos.

Para obtener más información sobre la acción de creación, consulteConstruir con flujos de trabajo.

Para crear un flujo de trabajo
  1. En el panel de navegación, elija CI/CD y, a continuación, elija Flujos de trabajo.

  2. Seleccione Crear flujo de trabajo.

  3. Elimine el código de YAML muestra.

  4. Añada el YAML código siguiente:

    nota

    En el YAML código siguiente, puede omitir la Connections: sección si lo desea. Si omite esta sección, debe asegurarse de que la función especificada en el campo IAMFunción predeterminada de su entorno incluya los permisos y las políticas de confianza que se describen en. Paso 1: Crear un AWS rol Para obtener más información sobre la configuración de un entorno con un IAM rol predeterminado, consulteCreación de un entorno.

    Name: codecatalyst-artifact-workflow SchemaVersion: 1.0 Triggers: - Type: Push Branches: - main Actions: GenerateFiles: Identifier: aws/build@v1 Configuration: Steps: # Create the output files. - Run: echo "Hello, World!" > "Hello.txt" - Run: echo "Goodbye!" > "Goodbye.txt" Outputs: Artifacts: - Name: codecatalystArtifact Files: - "**/*" Upload: Identifier: aws/build@v1 DependsOn: - GenerateFiles Environment: Name: codecatalyst-artifact-environment Connections: - Name: codecatalyst-account-connection Role: codecatalyst-s3-build-role Inputs: Artifacts: - codecatalystArtifact Configuration: Steps: # Upload the output artifact to the S3 bucket. - Run: aws s3 sync . s3://codecatalyst-artifact-bucket

    En el código anterior, sustituya:

    Para obtener información sobre las propiedades de este archivo, consulte laCrear y probar acciones YAML.

  5. (Opcional) Elija Validar para asegurarse de que el YAML código es válido antes de confirmarlo.

  6. Elija Commit (Confirmar).

  7. En el cuadro de diálogo Confirmar flujo de trabajo, introduzca lo siguiente:

    1. En el nombre del archivo de flujo de trabajo, deje el valor predeterminado,codecatalyst-artifact-workflow.

    2. Para el mensaje de confirmación, introduzca:

      add initial workflow file
    3. En Repositorio, elija codecatalyst-artifact-source-repository.

    4. En Nombre de sucursal, elija principal.

    5. Elija Commit (Confirmar).

    Ahora ha creado un flujo de trabajo. La ejecución de un flujo de trabajo se inicia automáticamente debido al activador definido en la parte superior del flujo de trabajo. En concreto, cuando depositaste (e insertaste) el codecatalyst-artifact-workflow.yaml archivo en tu repositorio de origen, el desencadenador inició la ejecución del flujo de trabajo.

Para ver la ejecución del flujo de trabajo en curso
  1. En el panel de navegación, elija CI/CD y, a continuación, elija Flujos de trabajo.

  2. Elija el flujo de trabajo que acaba de crear:. codecatalyst-artifact-workflow

  3. Elija GenerateFilesver el progreso de la primera acción de construcción.

  4. Selecciona Cargar para ver el progreso de la segunda acción de construcción.

  5. Cuando finalice la acción de carga, haz lo siguiente:

    • Si el flujo de trabajo se ejecutó correctamente, continúe con el siguiente procedimiento.

    • Si se produjo un error en la ejecución del flujo de trabajo, seleccione Registros para solucionar el problema.

Paso 5: Verificar los resultados

Cuando se ejecute el flujo de trabajo, vaya al servicio Amazon S3 y busque en su codecatalyst-artifact-bucket balde. Ahora debería incluir los siguientes archivos y carpetas:

. |— .aws/ |— .git/ |Goodbye.txt |Hello.txt |REAME.md

Los Hello.txt archivos Goodbye.txt y se cargaron porque formaban parte del codecatalystArtifact artefacto. Los README.md archivos .aws/.git/, y se cargaron porque estaban en tu repositorio de origen.

Limpieza

Limpie CodeCatalyst y evite AWS que le cobren por estos servicios.

Para limpiar en CodeCatalyst
  1. Abre la CodeCatalyst consola en https://codecatalyst.aws/.

  2. Elimine el repositorio codecatalyst-artifact-source-repository de origen.

  3. Elimine el codecatalyst-artifact-workflow flujo de trabajo.

Para limpiar en AWS
  1. Limpie en Amazon S3 de la siguiente manera:

    1. Abra la consola Amazon S3 en https://console.aws.amazon.com/s3/.

    2. Elimine los archivos del codecatalyst-artifact-bucket bucket.

    3. Elimine el codecatalyst-artifact-bucket depósito.

  2. Limpie el interior IAM de la siguiente manera:

    1. Abra la IAM consola en https://console.aws.amazon.com/iam/.

    2. Elimine la codecatalyst-s3-build-policy.

    3. Elimine la codecatalyst-s3-build-role.