As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Solucionar problemas do webhook
Problema: o webhook que você configurou Tutorial: Configurar um executor de CodeBuild-hosted GitHub ações não está funcionando ou seu trabalho de fluxo de trabalho está suspenso. GitHub
Causas possíveis:
-
O evento de Trabalhos de fluxo de trabalho do webhook pode não estar conseguindo acionar uma compilação. Revise os logs de Resposta para ver a resposta ou a mensagem de erro.
-
Os trabalhos estão sendo atribuídos ao agente de executor incorreto devido à configuração do rótulo. Esse problema pode ocorrer quando um de seus trabalhos em uma única execução de fluxo de trabalho tem menos rótulos do que outro trabalho. Por exemplo, se você tiver dois trabalhos com os seguintes rótulos no mesmo fluxo de trabalho, execute:
-
Trabalho 1:
codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} -
Trabalho 2:
codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }},instance-size:medium
Ao rotear um trabalho de GitHub ações auto-hospedado, GitHub roteará o trabalho para qualquer executor com todos os rótulos especificados do trabalho. Esse comportamento significa que o Trabalho 1 pode ser escolhido pelo executor criado para o Trabalho 1 ou o Trabalho 2, mas o Trabalho 2 só pode ser escolhido pelo executor criado para o Trabalho 2, pois tem um rótulo adicional. Se o Trabalho 1 for escolhido pelo executor criado para o Trabalho 2, o Trabalho 2 ficará travado, pois o executor do Trabalho 1 não tem o rótulo
instance-size:medium. -
Soluções recomendadas:
Ao criar vários trabalhos na mesma execução do fluxo de trabalho, use o mesmo número de substituições de rótulo para cada trabalho ou atribua a cada trabalho um rótulo personalizado, como job1 ou job2.
Atribuir a cada trabalho uma etiqueta personalizada exclusiva é a opção mais confiável. Isso garante que o conjunto de rótulos de nenhum trabalho seja um subconjunto do de outro trabalho. Quando cada trabalho carrega um rótulo que nenhum outro trabalho tem, GitHub corresponde cada trabalho somente ao executor criado para ele, independentemente de quantas outras substituições cada trabalho usa. No fluxo de trabalho a seguir, cada trabalho tem um rótulo exclusivo (job1ejob2). Embora a tarefa 2 tenha uma instance-size:medium substituição extra, a tarefa 1 não pode mais corresponder ao executor criado para a tarefa 2, então nenhuma tarefa fica paralisada:
name: Hello World on: [push] jobs: job1: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - job1 steps: - run: echo "Hello from Job 1!" job2: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - instance-size:medium - job2 steps: - run: echo "Hello from Job 2!"
Se o erro persistir, use as instruções a seguir para depurar o problema.
-
Abra o GitHub console em
https://github.com/para ver as configurações de webhook do seu repositório. Nesta página, você verá o webhook que foi criado para o repositório.user-name/repository-name/settings/hooks -
Escolha Editar e confirme se o webhook está habilitado para entregar eventos de tarefas do Workflow.
-
Navegue até a guia Recent Deliveries, encontre o evento
workflow_job.queuedcorrespondente e expanda o evento. -
Revise o campo de rótulos na Carga e verifique se está conforme o esperado.
-
Por fim, revise a guia Resposta, pois ela contém a resposta ou a mensagem de erro retornada CodeBuild.
-
Como alternativa, você pode depurar falhas de webhook usando GitHub as APIs. Você pode ver as entregas recentes de um webhook usando a API Listar entregas para um webhook de repositório
: gh api \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ /repos/owner/repo/hooks/hook-id/deliveriesDepois de encontrar a entrega do webhook que você deseja depurar e anotar o ID de entrega, você pode usar a API Get a delivery for a repository webhook.
CodeBuildA resposta da à carga útil de entrega do webhook pode ser encontrada na responseseção:gh api \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ /repos/owner/repo/hooks/hook-id/deliveries/delivery-id
Problema: Suas GitHub ações com as regras de proteção de
Causas possíveis: CodeBuild busca a implantação e o ambiente associados à tarefa GitHub Actions, se existirem, para verificar se a implantação foi aprovada. Se CodeBuild falhar na busca da implantação ou do ambiente, a CodeBuild compilação poderá ser acionada prematuramente.
Soluções recomendadas: verifique se as credenciais associadas aos seus CodeBuild projetos têm permissões de leitura para implantações e ações internas. GitHub