本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CodeBuild 建置和測試動作參考
可讓您執行建置和測試做為您管道的一部分。當您執行 CodeBuild 建置或測試動作時,建置規格中指定的命令會在 CodeBuild 容器內執行。所有指定為 CodeBuild 動作輸入成品的成品,都可以在執行命令的容器內取得。 CodeBuild 可以提供建置或測試動作。如需詳細資訊,請參閱《AWS CodeBuild 使用者指南》https://docs.aws.amazon.com/codebuild/latest/userguide/。
當您使用主控台中的 CodePipeline 精靈建立建置專案時, CodeBuild 建置專案會顯示來源提供者為 CodePipeline。當您在 CodeBuild主控台中建立建置專案時,您無法指定 CodePipeline 作為來源提供者,但將建置動作新增至管道會調整 CodeBuild 主控台中的來源。如需詳細資訊,請參閱 參考 ProjectSourceAWS CodeBuild API中的 。
動作類型
-
類別:
Build
或Test
-
擁有者:
AWS
-
提供者:
CodeBuild
-
版本:
1
組態參數
- ProjectName
-
必要:是
ProjectName
是 中建置專案的名稱 CodeBuild。 - PrimarySource
-
必要:有條件
PrimarySource
參數的值必須是建置規格檔案的 action. CodeBuild looks 其中一個輸入成品的名稱,並在包含此成品解壓縮版本的目錄中執行建置規格命令。如果為 CodeBuild 動作指定多個輸入成品,則需要此參數。動作只有一個來源成品時,則
PrimarySource
成品會預設為該成品。 - BatchEnabled
-
必要:否
BatchEnabled
參數的布林值允許動作在相同的建置執行中執行多個建置。啟用此選項時,
CombineArtifacts
此選項可供使用。如需啟用批次建置的管道範例,請參閱CodePipeline 與 CodeBuild 和批次建置 的整合。
- CombineArtifacts
-
必要:否
CombineArtifacts
參數的布林值會將批次建置的所有建置成品合併為建置動作的單一成品檔案。若要使用此選項,必須啟用
BatchEnabled
參數。 - EnvironmentVariables
-
必要:否
此參數的值用於設定管道中 CodeBuild 動作的環境變數。
EnvironmentVariables
參數的值採用環境變數物件JSON陣列的形式。請參閱 動作宣告 (CodeBuild 範例) 中的範例參數。每個物件都有三個部分,而且全都是字串:
-
name
:環境變數的名稱或索引鍵。 -
value
:環境變數的值。使用PARAMETER_STORE
或SECRETS_MANAGER
類型時,此值必須是您已儲存在 AWS Systems Manager 參數存放區中的參數名稱,或是您已分別儲存在 Secrets Manager 中的 AWS 秘密名稱。注意
我們強烈不建議使用環境變數來存放敏感值,尤其是 AWS 憑證。當您使用 CodeBuild 主控台或 時 AWS CLI,環境變數會以純文字顯示。對於敏感值,建議您改用
SECRETS_MANAGER
類型。 -
type
:(選擇性) 環境變數的類型。有效值為PARAMETER_STORE
、SECRETS_MANAGER
或PLAINTEXT
。未指定時,則將預設為PLAINTEXT
。
注意
當您
type
為環境變數組態輸入name
、value
和 時,特別是當環境變數包含 CodePipeline 輸出變數語法時,請勿超過組態值欄位的 1000 個字元限制。如果超過此限制,系統就會傳回驗證錯誤。如需詳細資訊,請參閱 參考 EnvironmentVariable中的 AWS CodeBuild API 。如需具有解析為 GitHub 分支名稱的環境變數的範例 CodeBuild 動作,請參閱 範例:將 BranchName變數與 CodeBuild 環境變數搭配使用。
-
Input artifacts (輸入成品)
-
成品數量:
1 to 5
-
Description: CodeBuild 尋找建置規格檔案,並從主要來源成品的目錄執行建置規格命令。當為 CodeBuild 動作指定多個輸入來源時,必須使用 中的
PrimarySource
動作組態參數來設定此成品 CodePipeline。每個輸入成品都會擷取到自己的目錄,其位置會存放在環境變數中。主要來源成品的目錄可透過
$CODEBUILD_SRC_DIR
使用。所有其他輸入成品的目錄可透過$CODEBUILD_SRC_DIR_yourInputArtifactName
使用。注意
CodeBuild 專案中設定的成品會變成管道中 CodeBuild 動作使用的輸入成品。
輸出成品
-
成品數量:
0 to 5
-
說明:這些可用於讓 CodeBuild 建置規格檔案中定義的成品可供管道中的後續動作使用。僅定義一個輸出成品時,可以直接在建置規格檔案的
artifacts
區段下定義此成品。指定多個輸出成品時,所有參照的成品都必須在建置規格檔案中定義為次要成品。中的輸出成品名稱 CodePipeline 必須符合建置規格檔案中的成品識別符。注意
CodeBuild 專案中設定的成品會成為管道動作中的 CodePipeline 輸入成品。
如果針對批次建置選取
CombineArtifacts
參數,輸出成品位置會包含在相同執行中執行的多個建置的合併成品。
輸出變數
此動作將建置過程中匯出的所有環境變數產生為變數。如需如何匯出環境變數的詳細資訊,請參閱 指南 EnvironmentVariable 中的 。 AWS CodeBuild API
如需在 中使用 CodeBuild 環境變數的詳細資訊 CodePipeline,請參閱 中的範例CodeBuild 動作輸出變數。如需您可以在 中使用的環境變數清單 CodeBuild,請參閱 AWS CodeBuild 使用者指南 中的建置環境中的環境變數。
動作宣告 (CodeBuild 範例)
另請參閱
以下相關資源可協助您使用此動作。
-
AWS CodeBuild 使用者指南 – 如需具有 CodeBuild 動作的範例管道,請參閱 CodePipeline 搭配使用 CodeBuild 來測試程式碼和執行建置 。如需具有多個輸入和輸出 CodeBuild 成品的專案範例,請參閱CodePipeline與 CodeBuild 和多個輸入來源整合,以及輸出偽影範例和多個輸入來源和輸出偽影範例 。
-
教學課程:建立管道,使用 建置和測試您的 Android 應用程式 AWS Device Farm – 本教學課程提供範例建置規格檔案和範例應用程式,以使用使用 CodeBuild 和 建置和測試 Android 應用程式的 GitHub 來源來建立管道 AWS Device Farm。
-
建置規格參考 CodeBuild – 此參考主題提供了解 CodeBuild 建置規格檔案的定義和範例。如需您可以在 中使用的環境變數清單 CodeBuild,請參閱 AWS CodeBuild 使用者指南 中的建置環境中的環境變數。