Executar os comandos de buildspec nas fases INSTALL, PRE_BUILD e POST_BUILD
Por padrão, o CodeBuild ignora qualquer comando de buildspec ao executar uma compilação de executor auto-hospedado do Buildkite. Para executar comandos de buildspec durante a compilação,
buildspec-override: "true"
pode ser adicionado como um sufixo ao rótulo:
agents: project: "codebuild-<project name>" buildspec-override: "true"
Ao usar esse comando, o CodeBuild criará uma pasta chamada buildkite-runner na pasta de origem principal do contêiner. Quando o executor do Buildkite é iniciado durante a fase BUILD, o executor é executado no diretório buildkite-runner.
Há várias limitações ao usar uma substituição de buildspec em uma compilação auto-hospedada do Buildkite:
-
O agente do Buildkite exige que as credenciais de origem existam no ambiente de compilação para extrair o repositório de origem do trabalho. Se você usar as credenciais de origem do CodeBuild para autenticação, precisará habilitar
git-credential-helperno buildspec. Por exemplo, é possível usar o seguinte buildspec para habilitargit-credential-helperpara as compilações do Buildkite:version: 0.2 env: git-credential-helper: yes phases: pre_build: commands: - echo "Hello World" -
O CodeBuild não executará comandos buildspec durante a fase
BUILD, pois o executor auto-hospedado é executado na faseBUILD. -
O CodeBuild não é compatível com arquivos buildspec para compilações de executor do Buildkite. Somente buildspecs em linha são compatíveis com executores auto-hospedados do Buildlkite
-
Se um comando de compilação falha na fase
PRE_BUILDouINSTALL, o CodeBuild não inicia o executor auto-hospedado e o trabalho do Buildkite precisa ser cancelado manualmente.