使用语义版本控制在构建时设置构件名称
此示例包含示例 buildspec 文件,演示如何指定在构建时创建的构件名称。在 buildspec 文件中指定的名称可以包含 Shell 命令和环境变量,以使其保持唯一。在 buildspec 文件中指定的名称将覆盖创建项目时在控制台中输入的名称。
如果构建多次,则使用在 buildspec 文件中指定的构件名称可以确保输出构件文件名的唯一性。例如,您可以使用在构建时插入构件名称的日期和时间戳。
要使用 buildspec 文件中的构件名称覆盖在控制台中输入的构件名称,请执行以下操作:
-
设置构建项目以使用 buildspec 文件中的构件名称覆盖相应的构件名称。
-
如果您使用控制台创建您的构建项目,请选择启用语义版本控制。有关更多信息,请参阅 创建构建项目(控制台)。
-
如果使用了 Amazon CLI,请在传递给
create-project
的 JSON 格式文件中将overrideArtifactName
设置为 true。有关更多信息,请参阅 创建构建项目 (Amazon CLI)。 -
如果使用 Amazon 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 的构建规范参考。