Ejecución del ejemplo de filtros de webhook y solicitudes de extracción de GitHub para CodeBuild
AWS CodeBuild admite webhooks, cuando el repositorio de origen es GitHub. Esto significa que en los proyectos de compilación de CodeBuild que tienen el código fuente almacenado en un repositorio de GitHub, pueden utilizarse webhooks para volver a compilar el código fuente cada vez que se inserta un cambio de código en el repositorio. Para ver ejemplos de CodeBuild, consulte Ejemplos de AWS CodeBuild
nota
Al usar webhooks, es posible que un usuario active una compilación de forma inesperada. Para mitigar este riesgo, consulte Prácticas recomendadas para utilizar webhooks.
Temas
Paso 1: Crear un proyecto de compilación con GitHub y habilitar los webhooks
Abra la consola de AWS CodeBuild en https://console.aws.amazon.com/codesuite/codebuild/home
. Si se muestra una página de información de CodeBuild, elija Crear proyecto de compilación. De lo contrario, en el panel de navegación, expanda Compilar, elija Proyectos de compilación y, a continuación, elija Crear proyecto de compilación.
-
Elija Crear el proyecto de compilación.
-
En Project configuration (Configuración del proyecto):
- Nombre del 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 puede introducir una descripción opcional del proyecto de compilación para ayudar a otros usuarios a entender para qué se utiliza el proyecto.
-
En Source (Código fuente):
- Proveedor de fuentes
-
Seleccione GitHub. Siga las instrucciones para conectarse (o volver a conectarse) a GitHub y, a continuación, elija Authorize (Autorizar).
- Repositorio
-
Seleccione Repository in my GitHub account (Repositorio en mi cuenta de GitHub).
- Repositorio GitHub
-
Introduzca la URL de su repositorio de GitHub.
-
En Eventos de webhook de fuente principal, seleccione lo siguiente.
nota
La sección Eventos de webhook de la fuente principal solo está visible si se ha seleccionado Repositorio en mi cuenta de GitHub en el paso anterior.
-
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).
-
En Event type (Tipo de evento), seleccione uno o varios eventos.
-
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.
-
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.
-
Seleccione Añadir grupo de filtros para añadir otro grupo de filtros.
Para obtener más información sobre los filtros y tipos de eventos de webhook de GitHub, consulte Eventos de webhooks de GitHub.
-
-
En Environment (Entorno):
- Imagen del entorno
Seleccione una de las siguientes opciones:
- Para usar una imagen de Docker administrada por AWS CodeBuild:
-
Elija Imagen administrada y después elija opciones en Sistema operativo, Tiempo de ejecución, Imagen y Versión de imagen. Realice una selección en Environment type (Tipo de entorno) si está disponible.
- Para utilizar otra imagen de Docker:
-
Elija Imagen personalizada. En Tipo de entorno, elija ARM, Linux, GPU de Linux o Windows. Si elige Otro registro, en URL de registro externo, introduzca el nombre y etiqueta de la imagen de Docker en Docker Hub, usando el formato
. Si ha seleccionado Amazon ECR, use Repositorio de Amazon ECR e Imagen de Amazon ECR para elegir la imagen de Docker en su cuenta de AWS.docker repository
/docker image name
- Para usar una imagen de Docker privada:
-
Elija Imagen personalizada. En Tipo de entorno, elija ARM, Linux, GPU de 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. Es necesario crear las credenciales con Secrets Manager. Para obtener más información, consulte AWS Secrets Manager en la Guía del usuario de AWS Secrets Manager.
- Rol de servicio
-
Seleccione una de las siguientes opciones:
-
Si no tiene un rol de servicio de CodeBuild, elija Nuevo rol de servicio. Escriba un nombre para el nuevo rol en el campo Role Name.
-
Si tiene un rol de servicio de CodeBuild, elija Rol de servicio existente. En ARN de rol, seleccione el rol de servicio.
nota
Si utiliza la consola para crear o actualizar un proyecto de compilación, puede crear un rol de servicio de CodeBuild 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.
-
En Archivo de especificación de compilación, realice alguna de las operaciones siguientes:
-
Seleccione Usar un archivo de especificaciones de compilación para utilizar el archivo buyildspec.yml que figura 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.
-
-
En Artifacts (Artefactos):
- Tipo
-
Seleccione 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 la salida de la compilación en un bucket de S3, seleccione 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 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 defiles
en Sintaxis de buildspec.
-
-
- Configuración adicional
-
Expanda Additional configuration (Configuración adicional) y establezca las opciones según sea necesario.
-
Elija Crear el proyecto de compilación. En la página Review (Revisar), elija Start build (Comenzar compilación) para ejecutar la compilación.
Paso 2: Comprobar que los webhooks estén habilitados
Abra la consola de AWS CodeBuild en https://console.aws.amazon.com/codesuite/codebuild/home
. -
En el panel de navegación, elija Proyectos de compilación.
-
Realice una de las siguientes acciones:
-
Elija el enlace del proyecto de compilación con webhooks que desea verificar y, a continuación, seleccione Build details (Detalles de compilación).
-
Seleccione el botón de opción situado junto al proyecto de compilación con webhooks que desea verificar, elija Ver detalles y, a continuación, elija la pestaña Detalles de compilación.
-
-
En los eventos de webhook de la fuente principal, seleccione el enlace a la URL del Webhook.
-
En el repositorio de GitHub, en la página Settings (Configuración), bajo Webhooks, compruebe que las opciones Pull Requests (Solicitudes de extracción) y Pushes (Inserciones) están seleccionadas.
-
En la configuración del perfil de GitHub, en Personal settings (Configuración personal), Applications (Aplicaciones), Authorized OAuth Apps (Aplicaciones de OAuth autorizadas), debería ver que la aplicación tiene autorización para acceder a la región de AWS seleccionada.