本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用语义版本控制在构建时设置构件名称
此示例包含示例 buildspec 文件,演示如何指定在构建时创建的构件名称。在 buildspec 文件中指定的名称可以包含 Shell 命令和环境变量,以使其保持唯一。在 buildspec 文件中指定的名称将覆盖创建项目时在控制台中输入的名称。
如果构建多次,则使用在 buildspec 文件中指定的构件名称可以确保输出构件文件名的唯一性。例如,您可以使用在构建时插入构件名称的日期和时间戳。
要使用 buildspec 文件中的构件名称覆盖在控制台中输入的构件名称,请执行以下操作:
-
设置构建项目以使用 buildspec 文件中的构件名称覆盖相应的构件名称。
-
如果您使用控制台创建您的构建项目,请选择启用语义版本控制。有关更多信息,请参阅 创建构建项目(控制台)。
-
如果使用 AWS CLI,则在传递
overrideArtifactName
给的JSON格式文件中将设置为 true。create-project
有关更多信息,请参阅 创建构建项目 (AWS CLI)。 -
如果使用 AWS CodeBuild API,则在创建或更新项目或启动生成时在
ProjectArtifacts
对象上设置overrideArtifactName
标志。
-
-
在 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。