Usar AWS CodePipeline con AWS CodeBuild para probar el código y ejecutar compilaciones - AWS CodeBuild

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.

Usar AWS CodePipeline con AWS CodeBuild para probar el código y ejecutar compilaciones

Puede automatizar el proceso de lanzamiento utilizando AWS CodePipeline para probar el código y ejecutar las compilaciones con AWS CodeBuild.

En la siguiente tabla se muestran las tareas y los métodos disponibles que se pueden realizar. El uso de los SDK de AWS para realizar estas tareas queda fuera del ámbito de este tema.

Tarea Enfoques disponibles Enfoques descritos en este tema
Crear una canalización de entrega continua (CD) con CodePipeline que automatice las compilaciones con CodeBuild
  • consola de CodePipeline

  • AWS CLI

  • AWS SDK

  • Uso de la consola de CodePipeline

  • Usar AWS CLI

  • Puede adaptar la información de este tema para utilizar los SDK de AWS. Para obtener más información, consulte lacreate-pipelinedocumentación de acciones de su lenguaje de programación en laSDK desección deHerramientas para Amazon Web Serviceso consulteCreatePipelineen laAWS CodePipelineReferencia de la API.

Añadir la automatización de pruebas y compilaciones con CodeBuild a una canalización existente en CodePipeline
  • consola de CodePipeline

  • AWS CLI

  • AWS SDK

Requisitos previos

  1. Responda a las preguntas de Planificación de una compilación.

  2. Si utiliza un usuario de IAM para acceder a CodePipeline en lugar de unAWScuenta raíz o usuario administrador de IAM, adjunte la política administrada denominadaAWSCodePipelineFullAccessal usuario (o al grupo de IAM al que pertenece el usuario). No se recomienda usar una cuenta raíz de AWS. Esta política concede al usuario permiso para crear la canalización en CodePipeline. Para obtener más información, consulteAttaching Managed Policiesen laIAM User Guide.

    nota

    La entidad de IAM que asoica la política al usuario (o al grupo de IAM al que pertenece el usuario) debe tener permiso en IAM para asociar políticas. Para obtener más información, consulteDelegación de permisos para administrar usuarios, grupos y credenciales de IAMen laIAM User Guide.

  3. Cree un rol de servicio de CodePipeline, si aún no dispone de uno en suAWSaccount. CodePipeline utiliza este rol de servicio para interactuar con otrosAWSservicios, incluidosAWS CodeBuild, en su nombre. Por ejemplo, para utilizar laAWS CLIpara crear un rol de servicio CodePipeline, ejecute IAMcreate-roleComando de la :

    Para Linux, macOS o Unix:

    aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Principal":{"Service":"codepipeline.amazonaws.com"},"Action":"sts:AssumeRole"}}'

    Para Windows:

    aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"codepipeline.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}}"
    nota

    La entidad de IAM que crea este rol de servicio de CodePipeline debe tener permiso en IAM para crear roles de servicio.

  4. Después de crear un rol de servicio de CodePipeline o identificar uno existente, debe agregar la política de roles de servicio de CodePipeline al rol de servicio, tal y como se describe enRevisar la directiva de rol de servicio CodePipeline predeterminadaen laAWS CodePipelineGuía del usuario de, si aún no forma parte de la política del rol.

    nota

    La entidad de IAM que añade esta política de roles de servicio de CodePipeline debe tener permiso en IAM para añadir políticas de roles de servicio a roles de servicio.

  5. Cree y cargue el código fuente de un tipo de repositorio compatible con CodeBuild y CodePipeline, como CodeCommit, Amazon S3 o GitHub. (CodePipeline no admite actualmente Bitbucket). El código fuente debe contener un archivo buildspec, pero puede declarar uno cuando defina un proyecto de compilación más adelante en este tema. Para obtener más información, consulte la Referencia de la especificación de compilación.

    importante

    Si tiene previsto utilizar la canalización para implementar el código fuente compilado, el artefacto de salida de la compilación debe ser compatible con el sistema de implementación que utilice.