Ejecución de comandos buildspec durante las fases INSTALL, PRE_BUILD y POST_BUILD
De forma predeterminada, CodeBuild ignora cualquier comando buildspec al ejecutar una compilación de ejecutor de Buildkite autoalojada. Para ejecutar comandos buildspec durante la compilación,
buildspec-override: "true"
se puede agregar como sufijo a la etiqueta:
agents: project: "codebuild-<project name>" buildspec-override: "true"
Con este comando, CodeBuild creará una carpeta llamada buildkite-runner en la carpeta de origen principal del contenedor. Cuando el ejecutor de Buildkite se inicia durante la fase BUILD, el ejecutor se ejecutará en el directorio buildkite-runner.
Existen varias limitaciones al usar una anulación de buildspec en una compilación de Buildkite autoalojada:
-
El agente de Buildkite requiere que haya credenciales de código fuente en el entorno de compilación para extraer el repositorio de código fuente del trabajo. Si utiliza credenciales de código fuente de CodeBuild para autenticación, tendrá que habilitar
git-credential-helperen la buildspec. Por ejemplo, puede usar la siguiente builspec para habilitargit-credential-helperen las compilaciones de Buildkite:version: 0.2 env: git-credential-helper: yes phases: pre_build: commands: - echo "Hello World" -
CodeBuild no ejecutará comandos buildspec durante la fase
BUILD, ya que el ejecutor autoalojado se ejecuta en la faseBUILD. -
CodeBuild no admite archivos buildspec para compilaciones de ejecutores de Buildkite. Solo se admiten buildspecs integradas para ejecutores autoalojados en Buildlkite
-
Si un comando de compilación genera un error en la fase
PRE_BUILDoINSTALL, CodeBuild no iniciará el ejecutor autoalojado y el trabajo de Buildkite deberá cancelarse de forma manual.