使用語意版本控制來命名建置成品範例 - AWS CodeBuild

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

使用語意版本控制來命名建置成品範例

此範例包含 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 的建置規格參考