配置回滚 - Amazon CodeCatalyst

配置回滚

默认情况下,如果部署 AWS CloudFormation 堆栈操作失败,它将导致 AWS CloudFormation 将堆栈回滚到上一个已知的稳定状态。您可以更改行为,使得不仅在操作失败时进行回滚,还在指定的 Amazon CloudWatch 警报发生时进行回滚。有关 CloudWatch 警报的更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用 Amazon CloudWatch 警报

您还可以更改默认行为,使得 CloudFormation 在操作失败时不回滚堆栈。

按照以下说明操作来配置回滚。

注意

您无法手动启动回滚。

Visual
开始前的准备工作
  1. 确保您的工作流包含正常运行的部署 AWS CloudFormation 堆栈操作。有关更多信息,请参阅部署 AWS CloudFormation 堆栈

  2. 部署 AWS CloudFormation 堆栈操作的堆栈角色 – 可选字段中指定的角色中,确保包含 CloudWatchFullAccess 权限。有关创建此具有适当权限的角色的信息,请参阅步骤 2:创建 AWS 角色

为“部署 AWS CloudFormation 堆栈”操作配置回滚警报
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 选择您的项目。

  3. 在导航窗格中,选择 CI/CD,然后选择工作流

  4. 选择工作流的名称。您可以按定义工作流的源存储库或分支名称筛选,也可以按工作流名称或状态筛选。

  5. 选择编辑

  6. 选择可视化

  7. 选择您的部署 AWS CloudFormation 堆栈操作。

  8. 在详细信息窗格中,选择配置

  9. 在底部,展开高级

  10. 监控告警 ARN 下,选择添加警报

  11. 在以下字段中输入信息。

    • 警报 ARN

      指定 Amazon CloudWatch 警报的 Amazon 资源名称(ARN)以用作回滚触发器。例如,arn:aws:cloudwatch::123456789012:alarm/MyAlarm。您可以拥有最多 5 个回滚触发器。

      注意

      如果您指定 CloudWatch 警报 ARN,则还需要配置其他权限才能允许该操作访问 CloudWatch。有关更多信息,请参阅配置回滚。

    • 监控时间

      指定 CloudFormation 监控指定警报的时间量(0 到 180 分钟)。在部署完所有堆栈资源开始监控。如果在指定的监控时间内发生警报,则部署将失败,并且 CloudFormation 将回滚整个堆栈操作。

      默认值:0。CloudFormation 仅在部署堆栈资源时(而非之后)监控警报。

YAML
为“部署 AWS CloudFormation 堆栈”操作配置回滚触发器
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 选择您的项目。

  3. 在导航窗格中,选择 CI/CD,然后选择工作流

  4. 选择包含部署 AWS CloudFormation 堆栈操作的工作流的名称。您可以按定义工作流的源存储库或分支名称筛选,也可以按工作流名称或状态筛选。

  5. 选择编辑

  6. 选择 YAML

  7. 在 YAML 代码中添加 monitor-alarm-arnsmonitor-timeout-in-minutes 属性以添加回滚触发器。有关每个属性的说明,请参阅“部署 AWS CloudFormation 堆栈”操作 YAML

  8. 部署 AWS CloudFormation 堆栈操作的 role-arn 属性中指定的角色中,确保包含 CloudWatchFullAccess 权限。有关创建此具有适当权限的角色的信息,请参阅步骤 2:创建 AWS 角色

Visual
为“部署 AWS CloudFormation 堆栈”操作禁用回滚
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 选择您的项目。

  3. 在导航窗格中,选择 CI/CD,然后选择工作流

  4. 选择包含部署 AWS CloudFormation 堆栈操作的工作流的名称。您可以按定义工作流的源存储库或分支名称筛选,也可以按工作流名称或状态筛选。

  5. 选择编辑

  6. 选择可视化

  7. 选择您的部署 AWS CloudFormation 堆栈操作。

  8. 在详细信息窗格中,选择配置

  9. 在底部,展开高级

  10. 启用禁用回滚

YAML
为“部署 AWS CloudFormation 堆栈”操作禁用回滚
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 选择您的项目。

  3. 在导航窗格中,选择 CI/CD,然后选择工作流

  4. 选择包含部署 AWS CloudFormation 堆栈操作的工作流的名称。您可以按定义工作流的源存储库或分支名称筛选,也可以按工作流名称或状态筛选。

  5. 选择编辑

  6. 选择 YAML

  7. 在 YAML 代码中添加 disable-rollback: 1 属性以停止回滚。有关每个属性的说明,请参阅“部署 AWS CloudFormation 堆栈”操作 YAML