本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Step Functions 调用 Amazon CodeBuild
Step Functions 可以直接从 Amazon States Language (ASL) 控制某些 Amazon 服务。有关使用 Amazon Step Functions 及其集成的更多信息,请参阅以下内容:
优化后的 CodeBuild 集成与 CodeBuild Amazon 开发工具包集成有何不同
-
支持运行作业 (.sync) 集成模式。
-
调用
StopBuild
或StopBuildBatch
后,构建或构建批处理将无法立即删除,直到 CodeBuild 完成一些内部工作以最终完成构建或构建批处理的状态。如果您在此期间尝试使用BatchDeleteBuilds
或DeleteBuildBatch
,则可能无法删除构建或构建批处理。BatchDeleteBuilds
和DeleteBuildBatch
的优化服务集成包括内部重试,以简化停止后立即删除的用例。
通过将 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 策略。