No YAML do fluxo de trabalho do GitHub Actions, você pode fornecer uma variedade de substituições de rótulos que modificam a compilação de executores auto-hospedados. Todas as compilações não reconhecidas pelo CodeBuild serão ignoradas, mas não falharão na solicitação de webhook. Por exemplo, o YAML do fluxo de trabalho a seguir inclui substituições para imagem, tamanho da instância, frota e buildspec:
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
strategy:
matrix:
include:
- os: arm-3.0
size: small
- os: al2-5.0
size: large
steps:
- run: echo "Hello World!"
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 do GitHub Actions.
<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. Para saber mais sobre os valores compatíveis, consulte Imagens de computação compatíveis com o executor do GitHub Actions hospedado pelo CodeBuild.
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 executor do GitHub Actions hospedado pelo CodeBuild.
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_BUILD
ePOST_BUILD
se definida comotrue
.
Substituição de rótulo único (herdado)
O CodeBuild permite que você forneça várias substituições em um único rótulo usando o seguinte:
-
Para substituir as configurações de ambiente para uma compilação computacional do Amazon EC2/Lambda, 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-buildspec
pode 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.