管道声明
管道和管道元数据层的基本结构包括以下参数和语法。管道参数表示管道中要执行的操作和阶段的结构。
有关更多信息,请参阅《CodePipeline API 指南》中的 PipelineDeclaration 对象。
下面的示例以 JSON 和 YAML 两种格式显示了 V2 类型管道的管道和元数据层结构。
name
管道的名称。在编辑或更新管道时,无法更改管道名称。
注意
如果要重命名现有的管道,您可以使用 CLI get-pipeline
命令生成包含管道结构的 JSON 文件。然后,您可以使用 CLI create-pipeline
命令创建具有该结构的新管道,并为其指定新名称。
roleArn
CodePipeline 服务角色的 IAM ARN,如 arn:aws:iam::80398EXAMPLE:role/CodePipeline_Service_Role。
要使用控制台查看管道服务角色 ARN 而不是 JSON 结构,请在控制台中选择管道,然后选择设置。在常规选项卡下,将显示服务角色 ARN 字段。
artifactStore
OR artifactStores
artifactStore
字段包含所有操作位于同一 AWS 区域中的管道的构件桶类型和位置。如果您在与管道不同的区域中添加操作,则 artifactStores
映射将用于列出执行操作的每个 AWS 区域的构件桶。当您创建或编辑管道时,管道区域中必须有构件存储桶,然后每个您计划执行操作的区域必须有一个构件存储桶。
注意
在管道结构中,必须在管道中包括 artifactStore
或 artifactStores
,但不能同时使用两者。如果在管道中创建跨区域操作,则必须使用 artifactStores
。
以下示例显示了一个管道的基本结构,该管道具有跨区域操作并使用 artifactStores
参数:
"pipeline": { "name": "
YourPipelineName
", "roleArn": "CodePipeline_Service_Role
", "artifactStores": { "us-east-1": { "type": "S3", "location": "S3 artifact bucket name, such as amzn-s3-demo-bucket
" }, "us-west-2": { "type": "S3", "location": "S3 artifact bucket name, such as amzn-s3-demo-bucket
" } }, "stages": [ { ...
type
构件存储桶的位置类型,指定为 Amazon S3。
location
第一次使用控制台创建管道时自动为您生成的 Amazon S3 存储桶的名称,如 codepipeline-us-east-2-1234567890,或您为此预置的任何 Amazon S3 存储桶的名称
stages
此参数包含管道中每个阶段的名称。有关管道结构阶段级参数和语法的更多信息,请参阅《CodePipeline API 指南》中的 StageDeclaration 对象。
阶段管道结构有以下要求:
-
一个管道必须包含至少两个阶段。
-
管道的第一阶段必须包含至少一个源操作。它只能包含源操作。
-
只有管道的第一阶段才可包含源操作。
-
每个管道中至少有一个阶段必须包含不是源操作的操作。
-
管道中的所有阶段名称都必须唯一。
-
阶段名称不能在 CodePipeline 控制台内编辑。如果您使用 AWS CLI 编辑阶段名称,并且该阶段包含具有一个或多个秘密参数(例如 OAuth 令牌)的操作,则这些秘密参数的值将不会保留下来。您必须手动输入参数的值(在 AWS CLI 返回的 JSON 中由四个星号遮替),并将其包含在 JSON 结构中。
version
每次更新管道时,都会自动生成和更新管道的版本号。
executionMode
您可以设置管道执行模式,这样就可以为连续运行指定管道行为,如排队、取代或以并行模式运行。有关更多信息,请参阅 设置或更改管道执行模式。
pipelineType
管道类型指定管道中可用的结构和功能,例如 V2 类型管道。有关更多信息,请参阅 管道类型。
variables
管道级变量是在管道运行时间创建和解析管道时定义的。有关更多信息,请参阅 变量参考。有关在管道执行时传递的管道级变量的教程,请参阅教程:使用管道级变量。
triggers
通过触发器,您可以将管道配置为在特定事件类型或筛选的事件类型时启动,例如检测到特定分支或拉取请求的更改时。对于使用 CodePipeline 中 CodeStarSourceConnection
操作的连接的源操作(如 GitHub、Bitbucket 和 GitLab),可配置触发器。有关使用连接的源操作的更多信息,请参阅使用 CodeConnections 连接到第三方源提供方。
有关更多信息,请参阅 使用触发器和筛选功能自动启动管道。
注意
CodeCommit 和 S3 源操作需要已配置的更改检测资源(EventBridge 规则),或使用轮询存储库是否有源更改的选项。对于具有 Bitbucket、GitHub 或 GitHub Enterprise Server 源操作的管道,您不必设置 Webhook 或默认进行轮询。连接操作会为您管理更改检测。
metadata
管道元数据字段与管道结构截然不同,无法进行编辑。在更新管道时,将自动更改 updated
元数据字段中的日期。
pipelineArn
管道的 Amazon 资源名称(ARN)。
要使用控制台查看管道 ARN 而不是 JSON 结构,请在控制台中选择管道,然后选择设置。在常规选项卡下,将显示管道 ARN 字段。
created
创建管道的日期和时间。
updated
上次更新管道的日期和时间。