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

Amazon CodePipeline 调用操作参考

您可以使用 CodePipeline 调用操作来简化触发下游管道执行以及在管道之间传递管道变量和源修订的过程。

注意

此操作仅支持 V2 类型管道。

操作类型

  • 类别:Invoke

  • 拥有者:AWS

  • 提供方:CodePipeline

  • 版本:1

配置参数

PipelineName

必需:是

运行后将启动当前目标管道的管道的名称。您必须已创建一个调用管道。当名为 s3-pipeline-test(调用)的管道开始执行时,该操作将启动 my-s3-pipeline(目标)管道。

SourceRevisions

必需:否

当调用管道启动目标管道时,您希望目标管道使用的源修订。例如,S3 源操作提供输出变量,例如 S3 版本 ID 和对象密钥。您可以指定调用管道时要使用的修订值。

对于 CLI,您可以将源修订指定为序列化的 JSON 字符串。有关使用源修订覆盖的更多信息,请参阅《CodePipeline API 指南》中的 SourceRevisionOverride

映射使用下方示例中所示的字符串格式。

[{"actionName":"Source","revisionType":"S3_OBJECT_VERSION_ID","revision Value":"zq8mjNEXAMPLE"}]
变量

必需:否

您希望操作支持的变量的名称和值。

对于 CLI,您可以将变量指定为序列化的 JSON 字符串。有关使用管道变量的更多信息,请参阅《CodePipeline API 指南中的 PipelineVariable

映射使用下方示例中所示的字符串格式。

[{"name":"VAR1","value":"VALUE1"}]

下图显示了添加到控制台中管道的操作示例。

具有 S3 源和包含管道调用操作的构建阶段的管道

下图显示了操作的编辑页面示例。在以下示例中,名为 s3-pipeline-test 的管道为控制台配置了如下所示的管道调用操作。当名为 s3-pipeline-test 的管道完成执行后,该操作将启动 my-s3-pipeline 管道。该示例显示了使用指定修订值为 zq8mjNYEexample 的 S3_OBJECT_VERSION_ID 源覆盖的源修订覆盖。

包含管道调用操作的新管道的编辑操作页面

输入构件

  • 构件数:0

  • 描述:输入构件不适用于此操作类型。

输出构件

  • 构件数:0

  • 描述:输出构件不适用于此操作类型。

CodePipeline 调用操作的服务角色策略权限

当 CodePipeline 运行操作时,CodePipeline 服务角色策略需要 codepipeline:StartPipelineExecution 权限,该权限的范围适当地缩小到管道资源 ARN,便于以最低权限进行访问。

{ "Sid": "StatementForPipelineInvokeAction", "Effect": "Allow", "Action": "codepipeline:StartPipelineExecution", "Resource": [ "arn:aws:codepipeline:{{region}}:{{AccountId}}:{{pipelineName}}" ] }

操作声明

YAML
name: Invoke-pipeline actionTypeId: category: Invoke owner: AWS provider: CodePipeline version: '1' runOrder: 2 configuration: PipelineName: my-s3-pipeline SourceRevisions: '[{"actionName":"Source","revisionType":"S3_OBJECT_VERSION_ID","revision Value":"zq8mjNEXAMPLE"}]' Variables: '[{"name":"VAR1","value":"VALUE1"}]'
JSON
{ "name": "Invoke-pipeline", "actionTypeId": { "category": "Invoke", "owner": "AWS", "provider": "CodePipeline", "version": "1" }, "runOrder": 2, "configuration": { "PipelineName": "my-s3-pipeline", "SourceRevisions": "[{\"actionName\":\"Source\",\"revisionType\":\"S3_OBJECT_VERSION_ID\",\"revisionValue\":\"zq8mjNEXAMPLE"}]", "Variables": "[{\"name\":\"VAR1\",\"value\":\"VALUE1\"}]" } },

下列相关资源在您使用此操作的过程中会有所帮助。