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