Você pode usar a aplicação GitHub para se conectar ao CodeBuild. As conexões da aplicação GitHub têm suporte por meio do Conexões de código da AWS.
O acesso do provedor de origem permite que você acione uma compilação assinando o Eventos de webhook do GitHub usando o CreateWebhook ou use Tutorial: configurar um executor do GitHub Actions hospedado pelo CodeBuild no CodeBuild.
nota
O CodeConnections está disponível em menos regiões do que o CodeBuild. Você pode usar conexões entre regiões no CodeBuild. Conexões criadas em regiões de aceitação não podem ser usadas em outras regiões. Para obter mais informações, consulte Endpoints e cotas do Conexões de código da AWS.
Tópicos
Etapa 1: criar uma conexão com a aplicação GitHub (console)
Execute estas etapas para usar o console do CodeBuild para adicionar uma conexão para o projeto no GitHub.
Para criar uma conexão com o GitHub
-
Siga as instruções no Guia do usuário do Developer Tools para Criar uma conexão com o GitHub.
Etapa 2: conceder projeto do CodeBuild acesso ao perfil do IAM para usar a conexão
Você pode conceder acesso ao perfil do IAM do projeto do CodeBuild para usar os tokens do GitHub fornecidos pela conexão.
Para conceder acesso ao perfil do IAM do projeto do CodeBuild
-
Crie um perfil do IAM para o projeto do CodeBuild seguindo as instruções para Permitir que o CodeBuild interaja com outros serviços da AWS para o projeto do CodeBuild.
-
Ao seguir as instruções, adicione a política do IAM a seguir ao seu perfil de projeto do CodeBuild para conceder acesso à conexão.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [
<connection-arn>
] } ] }
Etapa 3: configurar o CodeBuild para usar a nova conexão
Você pode configurar uma conexão como uma credencial no nível da conta e usá-la em um projeto.
Para configurar uma conexão como uma credencial no nível da conta na AWS Management Console
-
Em Provedor de origem, escolha GitHub.
-
Em Credencial, siga um destes procedimentos:
-
Escolha Credencial de origem padrão para usar a credencial de origem padrão da conta e aplicá-la a todos os projetos.
-
Se você não estiver conectado ao GitHub, escolha Gerenciar credencial de origem padrão.
-
Em Tipo de credencial, escolha Aplicação GitHub.
-
Em Conexão, escolha usar uma conexão existente ou crie uma.
-
-
Escolha Credencial de origem personalizada para usar uma credencial de origem personalizada para substituir as configurações padrão da conta.
-
Em Tipo de credencial, escolha Aplicação GitHub.
-
Em Conexão, escolha usar uma conexão existente ou crie uma.
-
-
Também é possível configurar vários tokens para os projetos do CodeBuild. Para obter mais informações, consulte Configurar vários tokens como credenciais no nível de origem.
Solução de problemas com a aplicação GitHub
As informações a seguir podem ajudar a resolver problemas comuns com a aplicação GitHub.
Tópicos
Instalar a aplicação AWS Connector for GitHub em uma região indesejada
Problema: você instalou o AWS Connector for GitHub por meio do GitHub Marketplace, mas a conexão foi criada em uma região indesejada. Se você tentar reconfigurar a aplicação no site do GitHub, isso não funcionará porque a aplicação já está instalada na conta do GitHub.
Possível causa: a aplicação já está instalada na conta do GitHub, então você só pode reconfigurar as permissões da aplicação.
Solução recomendada: você pode criar uma conexão com o ID de instalação na região desejada.
-
Abra o console do CodeConnections em https://console.aws.amazon.com/codesuite/settings/connections
e navegue até a região desejada usando o seletor de região na barra de navegação do console da AWS. -
Siga as instruções no Guia do usuário do Developer Tools para Criar uma conexão com o GitHub.
nota
Como você já instalou a aplicação AWS Connector for GitHub, pode escolhê-la em vez de instalar uma nova aplicação.
A conexão da aplicação GitHub não tem acesso aos repositórios
Problema: um serviço da AWS que usa a conexão, como o CodeBuild ou o CodePipeline, relata que não tem acesso ao repositório ou que o repositório não existe. Algumas possíveis mensagens de erro incluem:
-
Authentication required for primary source.
-
Unable to create webhook at this time. Please try again later.
-
Failed to create webhook. GitHub API limit reached. Please try again later.
- Possível causa: você pode estar usando a aplicação GitHub e não ter concedido o escopo da permissão do webhook.
-
Solução recomendada: para conceder o escopo de permissão necessário, siga as instruções em Navegar até a aplicação GitHub que você deseja revisar ou modificar
para configurar a aplicação instalada. Na seção de permissões, você verá que a aplicação não tem permissão para webhooks e há uma opção para você revisar as permissões recém-solicitadas. Revise e aceite as novas permissões. Para obter mais informações, consulte Aprovar permissões atualizadas para uma aplicação GitHub. - Possível causa: a conexão estava funcionando conforme o esperado, mas repentinamente não tem acesso aos repositórios.
-
Solução possível: comece revisando as autorizações
e instalações e, em seguida, verifique se a aplicação GitHub está autorizada e instalada. Se a instalação da aplicação GitHub estiver suspensa, você precisará cancelar a suspensão. Se a aplicação GitHub não estiver autorizada para uma conexão UAT (Token de acesso do usuário) ou não estiver instalada para uma conexão IAT (Token de acesso de instalação) , a conexão existente não poderá mais ser usada e você precisará criar outra conexão. Observe que reinstalar a aplicação GitHub não reativará a conexão anterior associada à instalação antiga. Solução possível: se a conexão for UAT, verifique se ela não está sendo usada simultaneamente, como em várias execuções simultâneas de compilação do CodeBuild. Isso ocorre porque o GitHub invalida imediatamente um UAT emitido anteriormente se um token prestes a expirar for atualizado pela conexão. Se você precisar usar a conexão UAT para várias compilações simultâneas do CodeBuild, poderá criar várias conexões e usar cada uma de maneira independente.
Solução possível: se a conexão UAT não tiver sido usada nos últimos 6 meses, ela será invalidada pelo GitHub. Para corrigir isso, crie uma conexão.
- Possível causa: você pode estar usando uma conexão UAT sem instalar a aplicação.
-
Solução recomendada: embora a criação de uma conexão UAT não exija a associação da conexão a uma instalação da aplicação GitHub, é necessária uma instalação para que o repositório esteja acessível. Siga as instruções para revisar as instalações
para garantir que a aplicação GitHub esteja instalada. Se não estiver instalada, navegue até a página da aplicação GitHub para instalar a aplicação. Para obter mais informações sobre o acesso do UAT, consulte Sobre os tokens de acesso do usuário .
O perfil do IAM do serviço da AWS não tem as permissões necessárias do IAM.
Problema: você vê uma das seguintes mensagens de erro:
-
Access denied to connection
<connection-arn>
-
Failed to get access token from
<connection-arn>
Solução recomendada: normalmente você usa uma conexão com um serviço da AWS, como o CodePipeline ou o CodeBuild. Quando você atribui ao serviço da AWS um perfil do IAM, o serviço da AWS pode usar a permissão da função para agir em seu nome. Verifique se o perfil do IAM tem as permissões necessárias. Para saber mais sobre a permissão do IAM necessária, consulte Conceder ao projeto do CodeBuild acesso de perfil do IAM para usar a conexão e Gerenciamento de identidade e acesso para notificações do AWS CodeStar e do CodeConnections no Guia do usuário do console Developer Tools.