O AWS CodeBuild é compatível com a integração de webhook ao GitHub, ao GitHub Enterprise Server, ao GitLab, ao GitLab Self-Managed e ao Bitbucket.
Tópicos
Práticas recomendadas para usar webhooks com o AWS CodeBuild
Para projetos que usam repositórios públicos para configurar webhooks, recomendamos as seguintes opções:
- Filtros de configuração
ACTOR_ACCOUNT_ID
-
Adicione filtros
ACTOR_ACCOUNT_ID
aos grupos de filtros de webhook do projeto para especificar quais usuários podem acionar uma compilação. Cada evento de webhook entregue ao CodeBuild vem com informações do remetente que especificam o identificador do representante. O CodeBuild filtrará os webhooks com base no padrão de expressão regular fornecido nos filtros. É possível determinar os usuários específicos que têm permissão para acionar compilações com esse filtro. Para obter mais informações, consulte Eventos de webhook do GitHub e Filtrar eventos de webhook do Bitbucket. - Filtros de configuração
FILE_PATH
-
Adicione filtros
FILE_PATH
aos grupos de filtros de webhook do projeto para incluir ou excluir os arquivos que podem acionar uma compilação quando alterados. Por exemplo, é possível negar solicitações de compilação para alterações no arquivobuildspec.yml
usando um padrão de expressão regular, como^buildspec.yml$
, junto com a propriedadeexcludeMatchedPattern
. Para obter mais informações, consulte Eventos de webhook do GitHub e Filtrar eventos de webhook do Bitbucket. - Definir o escopo das permissões para o perfil do IAM de compilação
-
As compilações acionadas por um webhook usam o perfil de serviço do IAM especificado no projeto. Recomendamos definir as permissões no perfil de serviço com o conjunto mínimo de permissões necessário para executar a compilação. Por exemplo, em um cenário de teste e implantação, crie um projeto para teste e outro projeto para implantação. O projeto de teste aceita compilações de webhook do repositório, mas não fornece permissões de gravação para os recursos. O projeto de implantação fornece permissões de gravação para os recursos, e o filtro de webhook está configurado para permitir que somente usuários confiáveis acionem compilações.
- Usar um buildspec em linha ou armazenado no Amazon S3
-
Se você definir o buildspec em linha dentro do próprio projeto ou armazenar o arquivo buildspec em um bucket do Amazon S3, o arquivo buildspec estará visível somente para o proprietário do projeto. Isso evita que solicitações pull façam alterações no código do arquivo buildspec e acionem compilações indesejadas. Para obter mais informações, consulte ProjectSource.buildspec na Referência da API do CodeBuild.