

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 階段宣告
<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)。