

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

# 阶段声明
<a name="stage-requirements"></a>

管道的阶段层具有基本结构，包括以下参数和语法。有关更多信息，请参阅 * CodePipeline API 指南*中的[StageDeclaration](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_StageDeclaration.html)对象。

下面的示例以 JSON 和 YAML 格式显示了管道结构的阶段层。该示例显示了两个名为 `Source` 和 `Build` 的阶段。该示例包含两个条件，一个用于 `onSuccess`，另一个用于 `beforeEntry`。

------
#### [ YAML ]

```
pipeline:
  name: MyPipeline
  roleArn: >-
    arn:aws:iam::ACCOUNT_ID:role/service-role/AWSCodePipelineServiceRole-us-west-2-MyPipeline
  artifactStore:
    type: S3
    location: amzn-s3-demo-bucket
  stages:
    - name: Source
      actions:
        - name: Source
          ...
    - name: Build
      actions:
        - name: Build
          ...
      onSuccess:
        conditions:
        - result: ROLLBACK
          rules:
          - name: DeploymentWindowRule
         ...
      beforeEntry:
        conditions:
        - result: FAIL
          rules:
          - name: MyLambdaRule
         ...
  version: 6
metadata:
  pipelineArn: 'arn:aws:codepipeline:us-west-2:ACCOUNT_ID:MyPipeline'
  created: '2019-12-12T06:49:02.733000+00:00'
  updated: '2020-09-10T06:34:07.447000+00:00'
```

------
#### [ JSON ]

```
{
    "pipeline": {
        "name": "MyPipeline",
        "roleArn": "arn:aws:iam::ACCOUNT_ID:role/service-role/AWSCodePipelineServiceRole-us-west-2-MyPipeline",
        "artifactStore": {
            "type": "S3",
            "location": "amzn-s3-demo-bucket"
        },
        "stages": [
            {
                "name": "Source",
                "actions": [
                    {
                        "name": "Source",
                        ...
                    }
                ]
            },
            {
                "name": "Build",
                "actions": [
                    {
                        "name": "Build",
                        ...
                    }
                ],
                "onSuccess": {
                    "conditions": [
                        {
                            "result": "ROLLBACK",
                            "rules": [
                                {
                                    "name": "DeploymentWindowRule",
                                    ...
                                }
                            ]
                        }
                    ]
                },
                "beforeEntry": {
                    "conditions": [
                        {
                            "result": "FAIL",
                            "rules": [
                                {
                                    "name": "MyLambdaRule",
                                     ...
                                }
                            ]
                        }
                    ]
                }
            }
        ],
            
            }
        ],
        "version": 6
    },
    "metadata": {
        "pipelineArn": "arn:aws:codepipeline:us-west-2:ACCOUNT_ID:MyPipeline",
        "created": "2019-12-12T06:49:02.733000+00:00",
        "updated": "2020-09-10T06:34:07.447000+00:00"
    }
}
```

------

## `name`
<a name="stage.name"></a>

 阶段的名称。

## `actions`
<a name="stage.actions"></a>

管道的操作层具有基本结构，包括以下参数和语法。要查看参数和示例，请参阅[操作声明](action-requirements.md)。

## `conditions`
<a name="stage.conditions"></a>

条件包含一条或多条规则，这些规则可在中的规则列表中找到 CodePipeline。如果一个条件中的所有规则都成功，则满足该条件。您可以配置条件，以便在不满足标准时，会产生指定的结果。

您可以配置以下类型的条件：
+ `beforeEntry`
+ `onFailure`
+ `onSuccess`

有关更多信息以及示例，请参阅 [为阶段配置条件](stage-conditions.md)。

## `rules`
<a name="stage.rules"></a>

每个条件都有一个规则集，规则集是一组有序的规则，这些规则会一起进行评估。因此，如果条件中有一条规则失败，那么条件也会失败。您可以在管道运行时覆盖规则条件。

规则参考中提供了可用的规则。有关更多信息，请参阅[规则结构参考](rule-reference.md)处的规则结构参考。