AWS CodeBuild 使用 Step Functions 調用 - AWS Step Functions

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

AWS CodeBuild 使用 Step Functions 調用

Step Functions 可以直接從Amazon States Language(ASL)控制某些 AWS 服務。如需了解詳細資訊,請參閱 使用其他 服務將參數傳遞至服務 API

最佳化 CodeBuild 整合與 CodeBuild AWS SDK 整合有何不同
  • 支援執行任務 (.sync)整合模式。

  • 在您呼叫StopBuild或之後StopBuildBatch,建置或建置批次不會立即刪除,直到某些內部工作完成以完成建置或組建的狀態 CodeBuild 為止。如果您嘗試使用BatchDeleteBuildsDeleteBuildBatch在此期間,可能不會刪除組建或建置批次。優化的服務集成,BatchDeleteBuildsDeleteBuildBatch包括內部重試,以簡化停止後立即刪除的用例。

與 AWS Step Functions 服務整合 AWS CodeBuild 可讓您使用 Step Functions 觸發、停止和管理組建,以及共用組建報告。使用 Step Functions,您可以設計並執行持續整合管道,以驗證應用程式的軟體變更。

並非所有 API 都支援所有整合模式,如下表所示:

API 請求回應 執行任務 (.sync)
StartBuild
StopBuild
BatchDeleteBuilds
BatchGetReports
StartBuildBatch
StopBuildBatch
RetryBuildBatch
DeleteBuildBatch
注意

中的參數Step Functions會以表示 PascalCase,即使原生服務 API 位於 camelCase 中。例如,您可以使用 Step Functions API 動作startSyncExecution並將其參數指定為StateMachineArn

支援的 CodeBuild API 和語法:

注意

您可以使用 JSONPath 遞歸下降適用於 BatchDeleteBuilds 的 (..) 運算子。這會傳回一個陣列,並可讓您將 Arn 欄位從 StartBuild 轉換為 Ids 複數參數,如下所示。

"BatchDeleteBuilds": { "Type": "Task", "Resource": "arn:aws:states:::codebuild:batchDeleteBuilds", "Parameters": { "Ids.$": "$.Build..Arn" }, "Next": "MyNextState" },

如需Step Functions與其他 AWS 服務搭配使用時如何設定IAM權限的相關資訊,請參閱整合式服務的 IAM 政策