Crear una canalización que use CodeBuild (consola de CodePipeline) - 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.

Crear una canalización que use CodeBuild (consola de CodePipeline)

Utilice el procedimiento siguiente para crear una canalización que utilice CodeBuild para compilar e implementar el código fuente.

Para crear una canalización que solo pruebe el código fuente:

Para utilizar el asistente para crear canalizaciones de CodePipeline para crear una canalización que use CodeBuild
  1. Inicie sesión en AWS Management Console utilizando:

    • Su cuenta raíz de AWS. No se recomienda. Para obtener más información, consulte El usuario raíz de la cuenta en la Guía del usuario.

    • Un usuario administrador en su cuenta de AWS. Para obtener más información, consulte Creación del primer usuario raíz y grupo de Cuenta de AWS en la Guía del usuario.

    • Un usuario de su cuenta de AWS con permiso para utilizar el conjunto mínimo de acciones siguiente:

      codepipeline:* iam:ListRoles iam:PassRole s3:CreateBucket s3:GetBucketPolicy s3:GetObject s3:ListAllMyBuckets s3:ListBucket s3:PutBucketPolicy codecommit:ListBranches codecommit:ListRepositories codedeploy:GetApplication codedeploy:GetDeploymentGroup codedeploy:ListApplications codedeploy:ListDeploymentGroups elasticbeanstalk:DescribeApplications elasticbeanstalk:DescribeEnvironments lambda:GetFunctionConfiguration lambda:ListFunctions opsworks:DescribeStacks opsworks:DescribeApps opsworks:DescribeLayers
  2. Abra la consola de AWS CodePipeline en https://console.aws.amazon.com/codesuite/codepipeline/home.

  3. En el selector de regiones de AWS, elija la región de AWS en la que quiere que se alojen los recursos de AWS del proyecto de compilación. Debe ser una región de AWS en la que se admita CodeBuild. Para obtener más información, consulte AWS CodeBuild en la Referencia general de Amazon Web Services.

  4. Cree una canalización. Si aparece una página con información de CodePipeline, seleccione Crear canalización. Si aparece la página Pipelines (Canalizaciones), seleccione Create pipeline (Crear canalización).

  5. En la página Step 1: Choose pipeline settings (Paso 1: Elegir configuración de canalización), en Pipeline name (Nombre de canalización), escriba un nombre para la canalización (por ejemplo, CodeBuildDemoPipeline). Si elige otro nombre, asegúrese de utilizarlo durante todo este procedimiento.

  6. En Role name (Nombre de la función), realice una de las operaciones siguientes:

    Seleccione New service role (Nueva función de servicio) y, en Role Name (Nombre de la función), especifique un nombre para la nueva función de servicio.

    Elija Rol de servicio existente y elija después el rol de servicio de CodePipeline que haya creado o identificado como parte de los requisitos previos de este tema.

  7. En Artifact store (Almacén de artefactos), haga lo siguiente:

    • Seleccione Ubicación predeterminada para utilizar el almacén de artefactos predeterminado (por ejemplo, el bucket de artefactos de S3 designado como predeterminado) con la canalización en la región de AWS que haya seleccionado para la canalización.

    • Elija Ubicación personalizada si ya dispone de un almacén de artefactos existente como, por ejemplo, un bucket de artefactos de S3, en la misma región de AWS que la canalización.

    nota

    Esto no es el bucket de código fuente del código fuente de la canalización. Este es el almacén de artefactos de la canalización. Se necesita un almacén de artefactos diferente, como un bucket de S3, para cada canalización y debe estar en la misma región de AWS que la canalización.

  8. Elija Next (Siguiente).

  9. En la página Step 2: Add source stage (Paso 2: Agregar una fase de origen), para Source provider (Proveedor de código fuente), proceda del modo siguiente:

    • Si el código fuente está almacenado en un bucket de S3, elija Amazon S3. En Bucket, seleccione el bucket de S3 que contiene el código fuente. En S3 object key (Clave de objeto de S3), escriba el nombre del archivo que contiene el código fuente (por ejemplo, file-name.zip). Elija Next (Siguiente).

    • Si el código fuente está almacenado en un repositorio de AWS CodeCommit, seleccione CodeCommit. En Repository name, elija el nombre del repositorio que contiene el código fuente. En Branch name (Nombre de la ramificación), elija el nombre de la ramificación que contiene la versión del código fuente que desea compilar. Elija Next (Siguiente).

    • Si el código fuente está almacenado en un repositorio GitHub, elija GitHub. Elija Connect to GitHub y siga las instrucciones para autenticarse con GitHub. En Repository, elija el nombre del repositorio que contiene el código fuente. En Branch (Ramificación), elija el nombre de la ramificación que contiene la versión del código fuente que desea compilar.

    Elija Next (Siguiente).

  10. En la página Paso 3: Agregar una fase de compilación, en Proveedor de compilación, elija CodeBuild.

  11. Si ya tiene un proyecto de compilación que desee utilizar, en Nombre del proyecto, seleccione el nombre del proyecto de compilación y vaya directamente al paso siguiente de este procedimiento.

    Si necesita crear un nuevo proyecto de compilación de CodeBuild, siga las instrucciones que se indican en Creación de un proyecto de compilación (consola) y vuelva a este procedimiento.

    Si elige un proyecto de compilación existente, debe haber definido ya la configuración de artefactos de salida de la compilación (aunque CodePipeline la anule). Para obtener más información, consulte Cambiar la configuración de un proyecto de compilación (consola).

    importante

    Si se habilitan webhooks para un proyecto de CodeBuild y el proyecto se usa como un paso de compilación en CodePipeline, se crearán dos compilaciones idénticas para cada confirmación. Una compilación se activa a través de los webhooks y la otra a través de CodePipeline. Como se factura por compilación, se le cobrarán ambas compilaciones. Por lo tanto, si utiliza CodePipeline, le recomendamos que deshabilite los webhooks en CodeBuild. En la consola de AWS CodeBuild, desactive la casilla Webhook. Para obtener más información, consulte Cambiar la configuración de un proyecto de compilación (consola).

  12. En la página Step 4: Add deploy stage (Paso 4: Agregar una fase de implementación), realice una de las siguientes operaciones:

    • Si no desea implementar el artefacto de salida de la compilación, elija Skip (Omitir) y confirme esta opción cuando se lo soliciten.

    • Si desea implementar el artefacto de salida de la compilación, en Deploy provider (Proveedor de implementación), elija un proveedor de implementación y especifique la configuración cuando se lo soliciten.

    Elija Next (Siguiente).

  13. En la página Review (Revisar), revise las opciones y seleccione Create pipeline (Crear canalización).

  14. Una vez que la canalización se ejecute correctamente, podrá obtener el artefacto de salida de la compilación. Con la canalización mostrada en la consola de CodePipeline, en la acción Compilar, seleccione la ayuda contextual. Anote el valor de Output artifact (por ejemplo, MyAppBuild).

    nota

    También puede obtener el artefacto de salida de la compilación eligiendo el enlace Artefactos de compilación en la página de detalles de la compilación de la consola de CodeBuild. Para ir a esta página, omita el resto de los pasos de este procedimiento y consulte Ver detalles de las compilaciones (consola).

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

  16. En la lista de buckets, abra el bucket utilizado por la canalización. El nombre del bucket debe seguir el formato codepipeline-region-ID-random-number. Puede utilizar la AWS CLI para ejecutar el comando get-pipeline de CodePipeline para obtener el nombre del bucket, donde my-pipeline-name es el nombre para mostrar de la canalización:

    aws codepipeline get-pipeline --name my-pipeline-name

    En el resultado, el objeto pipeline contiene un objeto artifactStore, que a su vez contiene un valor location con el nombre del bucket.

  17. Abra la carpeta que tiene el mismo nombre que la canalización (en función de la longitud del nombre de la canalización, el nombre de la carpeta podría aparecer truncado) y después abra la carpeta que tiene el mismo nombre que el valor de Output artifact (Artefacto de salida) que anotó anteriormente.

  18. Extraiga el contenido del archivo . Si hay varios archivos en esa carpeta, extraiga el contenido del archivo con la última marca temporal Last Modified. (Es posible que tenga que asignar al archivo la extensión .zip para que pueda trabajar con él en la utilidad ZIP del sistema). El artefacto de salida de la compilación está en el contenido extraído del archivo.

  19. Si ha indicado a CodePipeline que implementara el artefacto de salida de la compilación, utilice las instrucciones del proveedor de implementación para obtener el artefacto de salida de la compilación en los destinos de la implementación.