

# 继续服务部署
<a name="continue-service-deployment"></a>

为 Amazon ECS 服务部署配置了暂停生命周期挂钩后，部署将在配置的生命周期阶段暂停，并等待明确的操作。使用 `ContinueServiceDeployment` API 继续部署到下一个生命周期阶段，或者回滚至上一个服务修订。

提供了以下操作类型：
+ `CONTINUE`：该选项使部署持续到下一个生命周期阶段。
+ `ROLLBACK`：此选项将服务部署回滚到上一个服务修订。

您可以继续暂停钩子处于 `AWAITING_ACTION` 状态的部署。部署必须处于 `IN_PROGRESS` 状态。有关服务部署状态的更多信息，请参阅[使用 Amazon ECS 服务部署查看服务历史记录](service-deployment.md)。

## 先决条件
<a name="continue-service-deployment-prerequisites"></a>
+ 暂停钩子必须处于 `AWAITING_ACTION` 状态。
+ 您需要从 `DescribeServiceDeployments` 响应中获取 `hookId`。

## 过程
<a name="continue-service-deployment-procedure"></a>

------
#### [ ECS Console ]

1. 在 [https://console.aws.amazon.com/ecs/v2](https://console.amazonaws.cn/ecs/v2) 打开控制台。

1. 在 **Clusters**（集群）页面上，选择集群。

1. 在“**服务**”部分，选择服务。

1. 选择**部署**选项卡。

1. 验证暂停钩子的状态是否显示**等待操作**。

1. 选择“**执行操作**”，然后选择“**继续**”或“**回滚**”。

------
#### [ CLI ]

1. 通过调用 `describe-service-deployments` 获取 `hookId`：

   ```
   aws ecs describe-service-deployments \
       --service-deployment-arn arn:aws:ecs:us-west-2:123456789012:service-deployment/my-cluster/my-service/EZe5RNVLH6PPzHXINuP28
   ```

1. 使用 `hookId` 以及此操作调用 `continue-service-deployment`：

   继续部署：

   ```
   aws ecs continue-service-deployment \
       --hook-id ecs-pause-e7tK9G_WRJqNF_EOMjztDXfKenlJuEUVjsNStf4WLKw \
       --action CONTINUE
   ```

   回滚部署：

   ```
   aws ecs continue-service-deployment \
       --hook-id ecs-pause-e7tK9G_WRJqNF_EOMjztDXfKenlJuEUVjsNStf4WLKw \
       --action ROLLBACK
   ```

   响应包含服务部署 ARN：

   ```
   {
       "serviceDeploymentArn": "arn:aws:ecs:us-west-2:123456789012:service-deployment/my-cluster/my-service/EZe5RNVLH6PPzHXINuP28"
   }
   ```

------

## 后续步骤
<a name="continue-service-deployment-next-steps"></a>
+ 使用 `DescribeServiceDeployments` 或 Amazon ECS 控制台监控部署进度。
+ 如果在随后的生命周期阶段配置了其他暂停钩子，则部署将在这些阶段再次暂停。