Solucionar problemas do webhook - AWS CodeBuild

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 CodeBuild executor de GitHub ações hospedado não está funcionando ou seu trabalho de fluxo de trabalho está pendente. GitHub

Causas possíveis:

  • Seu evento de trabalhos do webhook Workflow pode não estar conseguindo acionar uma compilação. Revise os logs de Resposta para ver a resposta ou a mensagem de erro.

  • Suas tarefas estão sendo atribuídas ao agente executor incorreto devido à configuração da etiqueta. 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:

    • Job 1: codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }}

    • Job 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 Job 1 pode ser escolhido pelo executor criado para o Job 1 ou o Job 2, mas o Job 2 só pode ser escolhido pelo executor criado para o Job 2, pois tem um rótulo adicional. Se o Job 1 for escolhido pelo executor criado para o Job 2, o Job 2 ficará travado, pois o executor do Job 1 não tem o instance-size:medium rótulo.

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

Se o erro persistir, use as instruções a seguir para depurar o problema.

  1. Abra o GitHub console em https://github.com/user-name/repository-name/settings/hooks para ver as configurações do webhook do seu repositório. Nesta página, você verá o webhook que foi criado para o repositório.

  2. Escolha Edit e confirme se o webhook está habilitado para fornecer eventos de trabalhos de fluxo de trabalho.

    Os eventos de trabalho de fluxo de trabalho estão habilitados no webhook.
  3. Navegue até a guia Recent Deliveries, encontre o evento workflow_job.queued correspondente e expanda o evento.

  4. Revise o campo de rótulos na Payload e verifique se está conforme o esperado.

  5. Por fim, revise a guia Resposta, pois ela contém a resposta ou a mensagem de erro retornada de CodeBuild.

    A resposta ou mensagem de erro retornada de CodeBuild.
  6. Como alternativa, você pode depurar falhas de webhook usando GitHub's. 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/deliveries

    Depois 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 response seçã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