

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用語意版本控制在建置時間設定成品名稱
<a name="sample-buildspec-artifact-naming"></a>

 此範例包含 buildspec 範例檔案，示範如何指定建置時所建立的成品名稱。buildspec 檔案中指定的名稱可以包含 Shell 命令和環境變數，而變成唯一的名稱。您在 buildspec 檔案中指定的名稱，將會覆寫您建立專案時在主控台輸入的名稱。

 如果您建立多次，則使用 buildspec 檔案中指定的成品名稱可確保輸出成品檔名是唯一的。例如，您可以使用建置時插入成品名稱中的日期和時間戳記。

如果您要以 buildspec 檔案中的名稱覆寫您在主控台輸入的成品名稱，請執行下列操作：

1.  將組建專案設定成以 buildspec 檔案中的名稱來覆寫成品名稱。
   +  如果使用主控台來建立組建專案，請選取 **Enable semantic versioning (啟用語意版本控制)**。如需詳細資訊，請參閱[建立組建專案 (主控台)](create-project.md#create-project-console)。
   +  如果您使用 AWS CLI，請在傳遞給 的 JSON 格式檔案中將 `overrideArtifactName`設定為 true`create-project`。如需詳細資訊，請參閱[建立建置專案 (AWS CLI)](create-project.md#create-project-cli)。
   +  如果您使用 AWS CodeBuild API，請在建立或更新專案或開始建置時，在`ProjectArtifacts`物件上設定 `overrideArtifactName`旗標。

1.  在 buildspec 檔案中指定名稱。將下列範例 buildspec 檔案當作指南。

 此 Linux 範例示範如何指定包含組建建立日期的成品名稱：

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

 此 Linux 範例說明如何指定使用 CodeBuild 環境變數的成品名稱。如需詳細資訊，請參閱[建置環境中的環境變數](build-env-ref-env-vars.md)。

```
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 環境變數中宣告的變數。如需詳細資訊，請參閱[建置環境中的環境變數](build-env-ref-env-vars.md)。

```
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 的建置規格參考](build-spec-ref.md)。