AWS CodeBuild
用户指南 (API 版本 2016-10-06)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用语义版本控制命名构建构件示例

此示例包含示例 buildspec 文件,演示如何指定在构建时创建的构件名称。在 buildspec 文件中指定的名称可以包含 Shell 命令和环境变量,以使其保持唯一。在 buildspec 文件中指定的名称将覆盖创建项目时在控制台中输入的名称。

如果构建多次,则使用在 buildspec 文件中指定的构件名称可以确保输出构件文件名的唯一性。例如,您可以使用在构建时插入构件名称的日期和时间戳。

要使用 buildspec 文件中的构件名称覆盖在控制台中输入的构件名称,请执行以下操作:

  1. 设置构建项目以使用 buildspec 文件中的构件名称覆盖相应的构件名称。

    • 如果您使用控制台创建您的构建项目,请选择 Enable semantic versioning (启用语义版本控制)。有关更多信息,请参阅创建构建项目 (控制台)

    • 如果使用了 AWS CLI,请在传递给 create-project 的 JSON 格式文件中将 overrideArtifactName 设置为 true。有关更多信息,请参阅创建构建项目 (AWS CLI)

    • 如果使用 AWS CodeBuild API,请在创建或更新项目或启动构建时在 ProjectArtifacts 对象上设置 overrideArtifactName 标记。

  2. 在 buildspec 文件中指定名称。使用以下示例 buildspec 文件作为指南。

此 Linux 示例演示如何指定包含构建创建日期的构件名称:

version: 0.2 phases: build: commands: - rspec HelloWorld_spec.rb artifacts: files: - '**/*' name: myname-$(date +%Y-%m-%d)

此 Linux 示例演示如何指定使用 CodeBuild 环境变量的构件名称。有关更多信息,请参阅构建环境中的环境变量

version: 0.2 phases: build: commands: - rspec HelloWorld_spec.rb artifacts: files: - '**/*' name: myname-$AWS_REGION

此 Windows 示例演示如何指定包含构建创建日期和时间的构件名称:

version: 0.2 env: variables: TEST_ENV_VARIABLE: myArtifactName phases: build: commands: - cd samples/helloworld - dotnet restore - dotnet run artifacts: files: - '**/*' name: $Env:TEST_ENV_VARIABLE-$(Get-Date -UFormat "%Y%m%d-%H%M%S")

此 Windows 示例演示如何指定使用在 buildspec 文件中声明的变量和 CodeBuild 环境变量的构件名称。有关更多信息,请参阅构建环境中的环境变量

version: 0.2 env: variables: TEST_ENV_VARIABLE: myArtifactName phases: build: commands: - cd samples/helloworld - dotnet restore - dotnet run artifacts: files: - '**/*' name: $Env:TEST_ENV_VARIABLE-$Env:AWS_REGION

有关更多信息,请参阅适用于 CodeBuild 的生成规范参考