在过去一年左右的时间里,我一直使用 Amazon CodeDeploy 部署到在 C3.large 实例上运行的 AMI ubuntu-trusty-14.04-amd64-server-20150325 (ami-d85e75b0)。我使用文档中的标准用户数据脚本来安装 CodeDeploy 代理:
#!/bin/bash
apt-get -y update
apt-get -y install awscli
apt-get -y install ruby2.0
cd /home/ubuntu
aws s3 cp s3://aws-codedeploy-us-east-1/latest/install . --region us-east-1
chmod +x ./install
./install auto
我最近发现我需要 M4.large 提供的性能,但为了做到这一点,我需要在 HVM 虚拟化类型上运行,因此我使用完全相同的脚本启动了 ubuntu-trusty-14.04-amd64-server-20160114.5 (ami-fce3c696),SSD 卷 AMI 类型。
这次当我尝试使用 CodeDeploy 进行部署时,CodeDeploy 没有报告任何事件,因此我通过 ssh 进入新实例来读取 CodeDeploy 日志,并发现了两行有趣的内容:
2016-04-01 20:49:25 ERROR [codedeploy-agent(2080)]: Error validating
the SSL configuration: Invalid server certificate
2016-04-01 20:49:25 ERROR [codedeploy-agent(2080)]: booting child:
error during start or run: SystemExit - Stopping CodeDeploy agent
due to SSL validation error.
- /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/command_poller.rb:53:in `abort'
我似乎无法在文档中找到任何有用的信息,而且我通过 Google 找到的有关此问题的少数报告谈到了 HTTP 代理和 SSL 环境变量。这让我很困惑,因为文档中没有提到任何这些内容。
有人知道这里可能发生什么事吗?
答案1
我也遇到了同样的问题。CodeDeploy 已经在同一台服务器上运行了几年,用于各种个人项目。上周,我注意到任何部署尝试都因此错误而失败。
网上找到的所有(少量)建议要么不适用,要么没有任何作用。我没有设置特殊的 SSL 环境变量。我使用的是最新版本的 codedeploy 代理。我甚至更新了一切和yum update
。
解决方案:重新启动服务器。
不是开玩笑。
我已启用详细日志/etc/codedeploy-agent/conf/codedeployagent.yml
,并重新启动服务器只是为了确保它已生效。所有部署都重新开始工作。
您是否尝试过将其关闭然后重新打开?