View a markdown version of this page

Eseguite i comandi buildspec per le fasi INSTALL, PRE_BUILD e POST_BUILD - AWS CodeBuild

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Eseguite i comandi buildspec per le fasi INSTALL, PRE_BUILD e POST_BUILD

Per impostazione predefinita, CodeBuild ignora qualsiasi comando buildspec durante l'esecuzione di una build Buildkite runner ospitata autonomamente. Per eseguire i comandi buildspec durante la compilazione,

buildspec-override: "true"

può essere aggiunto come suffisso all'etichetta:

agents: project: "codebuild-<project name>" buildspec-override: "true"

Usando questo comando, CodeBuild creerà una cartella chiamata buildkite-runner nella cartella di origine principale del contenitore. Quando il runner Buildkite si avvia durante la BUILD fase, il runner verrà eseguito nella directory. buildkite-runner

Esistono diverse limitazioni quando si utilizza un override buildspec in una build Buildkite ospitata autonomamente:

  • L'agente Buildkite richiede che le credenziali di origine esistano all'interno dell'ambiente di compilazione per estrarre il repository dei sorgenti del lavoro. Se utilizzi le credenziali CodeBuild di origine per l'autenticazione, devi abilitarle nel tuo buildspec. git-credential-helper Ad esempio, puoi usare il seguente buildspec per abilitare le tue build Buildkite: git-credential-helper

    version: 0.2 env: git-credential-helper: yes phases: pre_build: commands: - echo "Hello World"
  • CodeBuild non eseguirà i comandi buildspec durante la fase, poiché il runner self-hosted viene eseguito durante la BUILD fase. BUILD

  • CodeBuild non supporta i file buildspec per le build di Buildkite runner. Solo le specifiche di build in linea sono supportate per i runner self-hosted di Buildkite

  • Se un comando di compilazione fallisce nella INSTALL fase PRE_BUILD o, non CodeBuild avvierà il runner self-hosted e il job Buildkite dovrà essere annullato manualmente.