

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

# 手动回滚阶段
<a name="stage-rollback-manual"></a>

您可以使用控制台或 CLI 手动回滚阶段。只有当前一次执行是在当前管道结构版本中启动时，管道才能回滚到前一次执行。

您还可以配置阶段在失败时自动回滚，详见[配置阶段自动回滚](stage-rollback-auto.md)。

## 手动回滚阶段（控制台）
<a name="stage-rollback-console"></a>

您可以使用控制台将阶段手动回滚到目标管道执行。当阶段回滚时，控制台的管道可视化上会显示**回滚**标签。

**手动回滚阶段（控制台）**

1. 登录 AWS 管理控制台 并打开 CodePipeline 控制台，[网址为 http://console.aws.amazon。 com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home)。

   将显示与您的 AWS 账户关联的所有管道的名称和状态。

1. 在**名称**中，选择具有要回滚阶段的管道的名称。  
![\[包含两个阶段的管道的示例图 CodePipeline。\]](http://docs.aws.amazon.com/zh_cn/codepipeline/latest/userguide/images/rollback-stage-first.png)

1. 在阶段上，选择**开始回滚**。此时将显示**回滚到**页面。

1. 选择要将阶段回滚到的目标执行。
**注意**  
可用的目标管道执行列表将是 2024 年 2 月 1 日开始的当前管道版本中的所有执行。  
![\[中选择目标执行 ID 的示例 CodePipeline。\]](http://docs.aws.amazon.com/zh_cn/codepipeline/latest/userguide/images/rollback-stage-dialog.png)

下图显示了使用新执行 ID 的已回滚阶段示例。

![\[带有回滚阶段的管道的示例图 CodePipeline。\]](http://docs.aws.amazon.com/zh_cn/codepipeline/latest/userguide/images/stage-rolled-back.png)


## 手动回滚阶段（CLI）
<a name="stage-rollback-cli"></a>

要使用手动回滚阶段，请使用`rollback-stage`命令。 AWS CLI 

您也可以手动回滚阶段，如[手动回滚阶段](#stage-rollback-manual)中所述。

**注意**  
可用的目标管道执行列表将是 2024 年 2 月 1 日开始的当前管道版本中的所有执行。

**手动回滚阶段（CLI）**

1. 用于手动回滚的 CLI 命令需要该阶段中先前成功管道执行的执行 ID。要获取您将指定的目标管道执行 ID，请使用带有筛选器的 list-pipeline-executions命令，该筛选器将返回该阶段的成功执行。打开终端（Linux、macOS 或 Unix）或命令提示符 (Windows)，然后使用运行`list-pipeline-executions`命令，指定管道名称和舞台中成功执行的过滤器。 AWS CLI 在此示例中，输出将列出名为的管道 MyFirstPipeline 和名为的阶段中成功执行的管道执行情况`deploys3`。

   ```
   aws codepipeline list-pipeline-executions --pipeline-name MyFirstPipeline --filter succeededInStage={stageName=deploys3}
   ```

   在输出中，复制要为回滚指定的先前成功执行的执行 ID。您将在下一步中使用此项作为目标执行 ID。

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows），并使用 AWS CLI 运行 `rollback-stage` 命令，指定管道名称、阶段名称和要回滚到的目标执行。例如，要为名为 Deploy 的管道回滚名为 Deploy 的阶段*MyFirstPipeline*：

   ```
   aws codepipeline rollback-stage --pipeline-name MyFirstPipeline --stage-name Deploy --target-pipeline-execution-id bc022580-4193-491b-8923-9728dEXAMPLE 
   ```

   输出会返回新回滚执行的执行 ID。这是一个单独的 ID，使用指定目标执行的源修订和参数。