本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对于 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" -
CodeBuild 在此
BUILD阶段不会运行 buildspec 命令,因为自托管运行器将在该BUILD阶段运行。 -
CodeBuild 不支持 Buildkite 运行器版本的构建规范文件。Buildlkite 自托管运行程序仅支持内联 buildspec
-
如果构建命令在
PRE_BUILD或INSTALL阶段失败, CodeBuild 则无法启动自托管运行器,并且需要手动取消 Buildkite 作业。