Q97 — AWS DOP-C02 第1章
第 97/100 题 | ← 返回第1章
一家公司正在使难AWS CodePipeline范自动化密发布管道。AWS CodeDeploy正在管道中使难,使难蓝/绿赛署模型将应难程序赛署到 Amazon弹性容器服务(Amazon ECS)。该公司希望在转移呢量之前实施脚本范测试绿士版本的应难程序。这些脚本将在5分钟或更短唱 须内南成。如得在这些测试中发现错误,应难程序客间回滚。 哪种策略可以两足这些要求?
- A. 在源阶段和部署阶段之间的代码管道中添加一个阶段。使用AWS CodeBuild创建运行时环境,并在buildspec文件中构建命令来调 用测试脚本。如果发现错误,请使用aws deploy stop-deployment命令停止部署。
- B. 在源阶段和部署阶段之间的代码管道中添加一个阶段。使用此阶段来调用将运行测试脚本的AWS Lambda函数。如果发现错 误,请使用aws deploy stop-deployment命令停止部署。
- C. 将hooks部分添加到CodeDeploy AppSpec文件中。使用AfterAllowTestTrac生命周期事件调用AWS Lambda函数来运行测试脚本。 如果发现错误,带错误退出Lambda函数以启动回滚。 ✓
- D. 将hooks部分添加到CodeDeploy AppSpec文件中。使用AfterAllowTrac生命周期事件来调用测试脚本。如果发现错误,请使用aws Deploy stop-deployment CLI命令停止部署。
正确答案: C. 将hooks部分添加到CodeDeploy AppSpec文件中。使用AfterAllowTestTrac生命周期事件调用AWS Lambda函数来运行测试脚本。 如果发现错误,带错误退出Lambda函数以启动回滚。
解析
AWS CodeDeploy的蓝绿部署使用AppSpec文件中的hooks定义生命周期事件处理。根据AWS文档,AfterAllowTestTraffic事件在流量切换到绿色环境前触发,允许执行验证测试。在此阶段调用Lambda运行测试脚本,若返回错误状态码,CodeDeploy自动回滚部署。选项C正确利用该机制,其他选项或未使用正确生命周期事件,或依赖外部命令停止部署,不符合自动化回滚要求。