对于 INSTALL、PRE_BUILD 和 POST_BUILD 阶段运行 buildspec 命令 - AWS CodeBuild

对于 INSTALL、PRE_BUILD 和 POST_BUILD 阶段运行 buildspec 命令

默认情况下,在运行自托管 Buildkite 运行程序构建时,CodeBuild 会忽略任何 buildspec 命令。要在构建期间中运行 buildspec 命令,

buildspec-override: "true"

可作为后缀添加到标签:

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

通过使用此命令,CodeBuild 将在容器的主源文件夹中创建一个名为 buildkite-runner 的文件夹。当 Buildkite 运行程序在 BUILD 阶段启动时,运行程序将在 buildkite-runner 目录中运行。

在自托管 Buildkite 构建中使用 buildspec 覆盖具有若干限制:

  • Buildkite 代理要求构建环境中存在源凭证才能提取作业的源存储库。如果您使用 CodeBuild 源凭证进行身份验证,将需要在 buildspec 中启用 git-credential-helper。例如,可以使用以下 buildspec 为 Buildkite 构建启用 git-credential-helper

    version: 0.2 env: git-credential-helper: yes phases: pre_build: commands: - echo "Hello World"
  • 因为自托管运行器在 BUILD 阶段运行,CodeBuild 不会在 BUILD 阶段运行 buildspec 命令。

  • CodeBuild 对于 Buildkite 运行程序构建不支持 buildspec 文件。Buildlkite 自托管运行程序仅支持内联 buildspec

  • 如果构建命令在 PRE_BUILDINSTALL 阶段失败,则 CodeBuild 将不会启动自托管运行程序,并且需要手动取消 Buildkite 作业。