使用 Step Functions 调用 Amazon CodeBuild - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Step Functions 调用 Amazon CodeBuild

Step Functions 可以直接从 Amazon States Language (ASL) 控制某些 Amazon 服务。有关使用 Amazon Step Functions 及其集成的更多信息,请参阅以下内容:

优化后的 CodeBuild 集成与 CodeBuild Amazon 开发工具包集成有何不同
  • 支持运行作业 (.sync) 集成模式。

  • 调用 StopBuildStopBuildBatch 后,构建或构建批处理将无法立即删除,直到 CodeBuild 完成一些内部工作以最终完成构建或构建批处理的状态。如果您在此期间尝试使用 BatchDeleteBuildsDeleteBuildBatch,则可能无法删除构建或构建批处理。BatchDeleteBuildsDeleteBuildBatch 的优化服务集成包括内部重试,以简化停止后立即删除的用例。

通过将 Amazon Step Functions 服务与 Amazon 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 和语法:

注意

您可以对 BatchDeleteBuilds 使用 JSONPath 递归下降 (..) 运算符。这将返回一个数组,并使您可以将 Arn 字段从 StartBuild 转换为复数 Ids 参数,如以下示例所示。

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

有关在将 Step Functions 与其他 Amazon 服务一起使用时如何配置 IAM 权限的信息,请参阅集成服务的 IAM 策略