如何在AWS控制台查看CodePipeline中CodeDeploy测试脚本的执行结果?
查看CodeDeploy中测试脚本的输出结果
我之前也碰到过一模一样的情况——CodeDeploy部署显示成功,但脚本的测试输出就是找不到!别着急,有几个可靠的途径能查到这些日志内容:
1. 目标服务器上的CodeDeploy Agent本地日志
CodeDeploy Agent会自动把所有钩子脚本(包括你的run_test.sh)的输出记录在服务器的本地日志文件里,具体路径是:
/opt/codedeploy-agent/deployment-root/<部署组ID>/<部署ID>/logs/scripts.log
- 你可以在CodeDeploy控制台的部署详情页面找到对应的
<部署ID>; - 登录到目标EC2实例后,用
cat或tail命令查看这个文件,就能看到脚本的完整输出,包括你要的测试结果。
2. CloudWatch Logs(需开启日志聚合)
如果你的CodeDeploy Agent配置了日志聚合,脚本输出会自动同步到CloudWatch Logs:
- 先登录目标服务器,检查
/etc/codedeploy-agent/conf/codedeployagent.yml文件里的log_aggregation_enabled是否设置为true; - 打开CloudWatch控制台,找到对应日志组(默认是
aws/codedeploy/<你的应用名称>),在日志流里筛选对应部署的记录,就能找到脚本的输出内容。
额外小建议:用CodeBuild做测试阶段更直观
如果希望直接在CodePipeline里看到测试结果,更推荐把测试阶段换成CodeBuild:
- 把测试逻辑写在CodeBuild的
buildspec.yml里执行; - 测试完成后,CodeBuild会把输出直接展示在CodePipeline的阶段详情里,不用再去服务器或CloudWatch翻找日志,体验顺畅很多。
内容的提问来源于stack exchange,提问作者user389955
相关产品推荐
相关产品推荐

