AWS CodeBuild admite la integración de webhooks con GitHub, GitHub Enterprise Server, GitLab, GitLab Self Managed y Bitbucket.
Temas
Prácticas recomendadas para utilizar webhooks con AWS CodeBuild
Para proyectos que utilizan repositorios públicos para configurar webhooks, le recomendamos las opciones siguientes:
- Configurar filtros de
ACTOR_ACCOUNT_ID
-
Añada
ACTOR_ACCOUNT_ID
filtros a los grupos de filtros de webhook de su proyecto para especificar qué usuarios pueden activar una compilación. Cada evento de webhook entregado a CodeBuild llega con información del remitente que especifica el identificador del actor. CodeBuild filtrará los webhooks en función del patrón de expresión regular presente en los filtros. Es posible especificar los usuarios específicos que pueden activar compilaciones con este filtro. Para obtener más información, consulte Eventos de webhooks de GitHub y Eventos de webhooks de Bitbucket. - Configurar filtros de
FILE_PATH
-
Agregue filtros de
FILE_PATH
a los grupos de filtros de webhook del proyecto para incluir o excluir los archivos que pueden activar una compilación cuando se modifican. Por ejemplo, es posible denegar las solicitudes de creación de cambios en el archivobuildspec.yml
mediante un patrón de expresión regular como^buildspec.yml$
, junto con la propiedadexcludeMatchedPattern
. Para obtener más información, consulte Eventos de webhooks de GitHub y Eventos de webhooks de Bitbucket. - Defina los permisos para su rol de IAM de compilación
-
Las compilaciones activadas por un webhook utilizan el rol de servicio de IAM especificado en el proyecto. Recomendamos establecer los permisos del rol de servicio en el conjunto mínimo de permisos necesario para ejecutar la compilación. Por ejemplo, en un escenario de prueba e implementación, cree un proyecto para las pruebas y otro para la implementación. El proyecto de prueba acepta compilaciones de webhook desde el repositorio, pero no proporciona permisos de escritura a sus recursos. El proyecto de implementación proporciona permisos de escritura a sus recursos y el filtro de webhook está configurado para permitir que solo los usuarios de confianza puedan activar las compilaciones.
- Utilice una especificación de compilación en línea o almacenada en Amazon S3
-
Si define su especificación de compilación en línea dentro del propio proyecto o almacena el archivo de especificaciones de compilación en un bucket de Amazon S3, el archivo de especificaciones de compilación solo estará visible para el propietario del proyecto. Esto evita que las solicitudes de extracción realicen cambios en el código del archivo de especificaciones de compilación y generen compilaciones no deseadas. Para obtener más información, consulte ProjectSource.buildSpec en la Referencia de la API de CodeBuild.