Ejemplo de solicitud de extracción de Bitbucket y filtro de webhook para CodeBuild - 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.

Ejemplo de solicitud de extracción de Bitbucket y filtro de webhook para CodeBuild

AWS CodeBuildadmite webhooks cuando el repositorio de origen es Bitbucket. Esto significa que para un proyecto de CodeBuild compilación que tiene el código fuente almacenado en un repositorio de Bitbucket, se pueden utilizar webhooks para volver a compilar el código fuente cada vez que un cambio de código se introduce en el repositorio. Para obtener más información, consulte Eventos de webhooks de Bitbucket.

En este ejemplo se muestra cómo crear una solicitud de extracción mediante un repositorio de Bitbucket. También te muestra cómo usar un webhook de Bitbucket CodeBuild para activar la creación de una compilación de un proyecto.

nota

Al usar webhooks, es posible que un usuario active una compilación inesperada. Para mitigar este riesgo, consultePrácticas recomendadas para utilizar webhooks.

Requisitos previos

Para ejecutar este ejemplo, es preciso que conecte el proyecto de AWS CodeBuild con la cuenta de Bitbucket.

nota

CodeBuild ha actualizado sus permisos con Bitbucket. Si anteriormente conectaste tu proyecto a Bitbucket y ahora recibes un error de conexión con Bitbucket, debes volver a conectarte para conceder el CodeBuild permiso para administrar tus webhooks.

Creación de un proyecto de compilación con Bitbucket como repositorio de origen y habilitación de webhooks

Los siguientes pasos describen cómo crear un proyecto de AWS CodeBuild con Bitbucket como repositorio de origen y cómo habilitar webhooks.

  1. Abra laAWS CodeBuild consola en https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Si aparece una página de CodeBuild información, seleccione Crear proyecto de construcción. De lo contrario, en el panel de navegación, expanda Crear, elija Crear proyectos y, a continuación, elija Crear proyecto de creación.

  3. Elija Create build project (Crear proyecto de compilación).

  4. En Project configuration (Configuración del proyecto):

    Project name (Nombre de proyecto)

    Introduzca un nombre para este proyecto de compilación. Los nombres de los proyectos de compilación debe ser únicos en cada cuenta de AWS. También puedes incluir una descripción opcional del proyecto de compilación para ayudar a otros usuarios a entender para qué se utiliza este proyecto.

  5. En Source (Código fuente):

    Proveedor de origen

    Elige Bitbucket. Sigue las instrucciones para conectarte (o volver a conectarte) con Bitbucket y, a continuación, selecciona Autorizar.

    Repositorio

    Selecciona Repositorio en mi cuenta de Bitbucket.

    Si no te has conectado anteriormente a tu cuenta de Bitbucket, introduce tu nombre de usuario y contraseña de la aplicación de Bitbucket y selecciona Guardar credenciales de Bitbucket.

    Repositorio de Bitbucket

    Introduce la URL de tu repositorio de Bitbucket.

  6. En Eventos de webhook de origen principal, seleccione lo siguiente.

    nota

    La sección de eventos de webhook de origen principal solo está visible si has elegido Repositorio en mi cuenta de Bitbucket en el paso anterior.

    1. Cuando cree el proyecto, seleccione Rebuild every time a code change is pushed to this repository (Volver a compilar cada vez que se inserte un cambio de código en este repositorio).

    2. En Event type (Tipo de evento), seleccione uno o varios eventos.

    3. Para filtrar en función de cuándo un evento va a desencadenar una compilación, en Start a build under these conditions (Iniciar una compilación en estas condiciones), añada uno o varios filtros opcionales.

    4. Para filtrar en función de cuándo no se va a desencadenar un evento, en Don't start a build under these conditions (No iniciar una compilación en estas condiciones), añada uno o varios filtros opcionales.

    5. Elija Agregar grupo de filtros para agregar otro grupo de filtros, si es necesario.

    Para obtener más información sobre los tipos y filtros de eventos de webhook de Bitbucket, consulteEventos de webhooks de Bitbucket.

  7. En Environment (Entorno):

    Imagen del entorno

    Elija una de las siguientes opciones:

    Para usar una imagen de Docker gestionada porAWS CodeBuild:

    Seleccione Imagen gestionada y, a continuación, seleccione el sistema operativo, el tiempo de ejecución, la imagen y la versión de la imagen. Realice una selección en Environment type (Tipo de entorno) si está disponible.

    Para usar otra imagen de Docker:

    Elige Imagen personalizada. Para el tipo de entorno, elija ARM, Linux, GPU Linux o Windows. Si elige Other registry (Otro registro), para External registry URL (URL de registro externo), introduzca el nombre y etiqueta de la imagen de Docker en Docker Hub, usando el formato docker repository/docker image name. Si elige Amazon ECR, utilice el repositorio de Amazon ECR y la imagen de Amazon ECR para elegir la imagen de Docker en suAWS cuenta.

    Para usar una imagen privada de Docker:

    Elige Imagen personalizada. Para el tipo de entorno, elija ARM, Linux, GPU Linux o Windows. En Image registry (Registro de imagen), elija Other registry (Otro registro) y, a continuación, introduzca el ARN de las credenciales para su imagen de Docker privada. Secrets Manager debe crear las credenciales. Para obtener más información, consulte ¿Qué es AWS Secrets Manager? en la Guía del usuario de AWS Secrets Manager.

    Función de servicio

    Elija una de las siguientes opciones:

    • Si no tiene un rol CodeBuild de servicio, elija Nuevo rol de servicio. Escriba un nombre para el nuevo rol en el campo Role Name.

    • Si tiene un rol CodeBuild de servicio, elija Función de servicio existente. En Role ARN, elija el rol de servicio.

    nota

    Cuando utiliza la consola de para crear o actualizar un proyecto de compilación, puede crear un rol de CodeBuild servicio al mismo tiempo. De forma predeterminada, el rol funciona solamente con ese proyecto de compilación. Si utiliza la consola para asociar este rol de servicio a otro proyecto de compilación, el rol se actualizará para que funcione con el otro proyecto de compilación. Un rol de servicio puede funcionar con hasta diez proyectos de compilación.

  8. En Buildspec, lleve a cabo una de las siguientes operaciones:

    • Elija Usar un archivo buildspec para usar el archivo buildspec.yml en el directorio raíz del código fuente.

    • Elija Insertar comandos de compilación para usar la consola para insertar comandos de compilación.

    Para obtener más información, consulte Referencia de la especificación de compilación.

  9. En Artifacts (Artefactos):

    Tipo

    Elija una de las siguientes opciones:

    • Si no desea crear ningún artefacto de salida de la compilación, elija No artifacts (Sin artefactos).

    • Para almacenar el resultado de la compilación en un bucket de S3, elija Amazon S3 y, a continuación, haga lo siguiente:

      • Si desea utilizar su nombre de proyecto para el archivo ZIP o carpeta de salida de la compilación, deje en blanco Name (Nombre). De lo contrario, escriba el nombre. De forma predeterminada, el nombre del artefacto es el nombre del proyecto. Si desea usar otro nombre, escríbalo en el cuadro de nombre de artefactos. Si desea producir un archivo ZIP, incluya la extensión zip.

      • En Bucket name (Nombre del bucket), seleccione el nombre del bucket de salida.

      • Si eligió Insert build commands (Insertar comandos de compilación) anteriormente en este procedimiento, en Output files (Archivos de salida), escriba las ubicaciones de los archivos de la compilación que desea incluir en el archivo ZIP o carpeta de salida de la compilación. Si hay varias ubicaciones, separe cada una de las ubicaciones con una coma (por ejemplo, appspec.yml, target/my-app.jar). Para obtener más información, consulte la descripción de files en Sintaxis de buildspec.

    Configuración adicional

    Expanda Additional configuration (Configuración adicional) y establezca las opciones según sea necesario.

  10. Elija Create build project (Crear proyecto de compilación). En la página Review (Revisar), elija Start build (Comenzar compilación) para ejecutar la compilación.

Activación de una compilación con un webhook de Bitbucket

En los proyectos que utilizan webhooks de Bitbucket, AWS CodeBuild crea una compilación cuando el repositorio de Bitbucket detecta un cambio en el código fuente.

  1. Abra laAWS CodeBuild consola en https://console.aws.amazon.com/codesuite/codebuild/home.

  2. En el panel de navegación, elija Build projects (Proyectos de compilación) y, a continuación, elija un proyecto asociado a un repositorio de Bitbucket con webhooks. Para obtener más información acerca de cómo crear un proyecto de webhook de Bitbucket, consulteCreación de un proyecto de compilación con Bitbucket como repositorio de origen y habilitación de webhooks.

  3. Realice algunos cambios en el código en el repositorio de Bitbucket del proyecto.

  4. Cree una solicitud de extracción en su repositorio de Bitbucket. Para obtener más información, consulte el artículo sobre cómo crear una solicitud de extracción.

  5. En la página de webhooks de Bitbucket, elija View request (Ver solicitud) para ver una lista de eventos recientes.

  6. Seleccione Ver detalles para ver los detalles de la respuesta devuelta por CodeBuild. Debe ser similar al siguiente:

    "response":"Webhook received and build started: https://us-east-1.console.aws.amazon.com/codebuild/home..." "statusCode":200
  7. Vaya a la página de solicitudes de extracción de Bitbucket para ver el estado de la compilación.