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á.
Substituições de rótulos suportadas pelo executor de CodeBuild-hosted GitHub ações
Em seu fluxo de trabalho de GitHub ações YAML, você pode fornecer uma variedade de substituições de rótulos que modificam sua compilação de executores auto-hospedados. Todas as compilações não reconhecidas por CodeBuild serão ignoradas, mas não falharão em sua solicitação de webhook. O fluxo de trabalho a seguir, YAML, define dois trabalhos: job1 usa substituições para imagem, tamanho da instância, frota e buildspec, e job2 usa somente uma substituição de imagem. Dê a cada trabalho um rótulo exclusivo (job1ejob2) para que GitHub encaminhe cada trabalho para o executor criado para ele:
name: Hello World on: [push] jobs: job1: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:small - fleet:myFleet - buildspec-override:true - job1 steps: - run: echo "Hello from Job 1!" job2: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - job2 steps: - run: echo "Hello from Job 2!"
Você também pode usar uma estratégia matricial para executar um único trabalho em várias configurações. As expansões de uma única tarefa de matriz sempre têm o mesmo número de rótulos, portanto, o problema de correspondência de executores não as afeta. No entanto, se a execução de um fluxo de trabalho contiver mais de uma tarefa de matriz, atribua a cada tarefa de matriz seu próprio rótulo personalizado exclusivo (por exemplo, matrix-job-1 ematrix-job-2) para que GitHub não corresponda a uma tarefa a um executor criado para uma tarefa de matriz diferente:
name: Hello World on: [push] jobs: Hello-World-Job: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:${{ matrix.os }} - instance-size:${{ matrix.size }} - fleet:myFleet - buildspec-override:true - matrix-job-1 strategy: matrix: include: - os: arm-3.0 size: small - os: linux-5.0 size: large steps: - run: echo "Hello World!"
nota
Se seu trabalho de fluxo de trabalho estiver suspenso GitHub, consulte Solucionar problemas do webhook e Usando rótulos personalizados para rotear trabalhos
codebuild-(obrigatório)<project-name>-${{github.run_id}}-${{github.run_attempt}}
Exemplo:
codebuild-fake-project-${{ github.run_id }}-${{ github.run_attempt }}-
Obrigatório para todos os YAMLs do fluxo de trabalho de GitHub ações.
<project name>deve ser igual ao nome do projeto para o qual o webhook do executor auto-hospedado está configurado.
image:<environment-type>-<image-identifier>
Exemplo:
image:arm-3.0-
Substitui a imagem e o tipo de ambiente usados ao iniciar a compilação do executor auto-hospedado com uma imagem selecionada. Para saber mais sobre os valores compatíveis, consulte Imagens de computação compatíveis com o CodeBuild-hosted GitHub Actions runner.
Para substituir a imagem e o tipo de ambiente usados por uma imagem personalizada, use
image:custom-<environment-type>-<custom-image-identifier>Exemplo:
image:custom-arm-public.ecr.aws/codebuild/amazonlinux-aarch64-standard:3.0nota
Se a imagem personalizada residir em um registro privado, consulte Configurar uma credencial de registro privada para executores auto-hospedados.
instance-size:<instance-size>
Exemplo:
instance-size:medium-
Substitui o tipo de instância usado ao iniciar a compilação do executor auto-hospedado. Para saber mais sobre os valores compatíveis, consulte Imagens de computação compatíveis com o CodeBuild-hosted GitHub Actions runner.
fleet:<fleet-name>
Exemplo:
fleet:myFleet-
Substitui as configurações de frota definidas no projeto para usar a frota especificada. Para obter mais informações, consulte Executar compilações em frotas de capacidade reservada.
buildspec-override:<boolean>
Exemplo:
buildspec-override:true-
Permite que a compilação execute comandos buildspec nas fases
INSTALL,PRE_BUILDePOST_BUILDse definida comotrue.
(recomendado quando a execução de um fluxo de trabalho tem vários trabalhos)<unique-label>
Exemplo:
job1-
Um rótulo personalizado que você define e que nenhum outro trabalho na mesma execução do fluxo de trabalho usa. A atribuição de um rótulo exclusivo a cada tarefa garante que cada tarefa seja GitHub direcionada somente para o executor que foi criado para ela. Sem isso, quando trabalhos na mesma execução de fluxo de trabalho têm números diferentes de substituições de rótulos, um trabalho com menos rótulos pode ser escolhido por um executor criado para um trabalho com mais rótulos, o que deixa o segundo trabalho sem um executor. Para obter mais informações, consulte Solucionar problemas do webhook.
Substituição de etiqueta única
CodeBuild permite que você forneça várias substituições em uma única etiqueta usando o seguinte:
nota
Como todas as substituições são combinadas em uma única etiqueta, o executor de cada tarefa se registra com exatamente uma etiqueta. Isso significa que o problema de correspondência de vários executores de trabalhos descrito em Solucionar problemas do webhook não pode ocorrer com esse formato, mesmo sem um rótulo exclusivo em cada trabalho. Use o formato de rótulo único se você preferir esse comportamento e seus trabalhos precisarem apenas das substituições que ele suporta. Não o use quando precisar de uma substituição que ele não suporta. Por exemplo, imagens personalizadas (incluindo imagens em um registro privado) só podem ser especificadas usando o formato de image:custom- etiqueta. Para essas substituições, use o formato de rótulo separado descrito anteriormente neste tópico.<environment-type>-<custom-image-identifier>
-
Para substituir suas configurações de ambiente para uma compilação EC2/Lambda computacional da Amazon, use a seguinte sintaxe:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-<environment-type>-<image-identifier>-<instance-size> -
Para substituir as configurações da frota para a compilação computacional do Amazon EC2, use a seguinte sintaxe:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-fleet-<fleet-name> -
Para substituir a frota e a imagem usadas para a compilação, use a seguinte sintaxe:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-image-<image-version>-fleet-<fleet-name> -
Para executar comandos buildspec durante a compilação,
-with-buildspecpode ser adicionado como sufixo ao rótulo:runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-<image>-<image-version>-<instance-size>-with-buildspec -
Opcionalmente, você pode fornecer uma substituição do tamanho da instância sem substituir a imagem. Para compilações do Amazon EC2, você pode excluir o tipo de ambiente e o identificador de imagem. Para compilações do Lambda, você pode excluir o identificador da imagem.