代码部署失败,没有任何错误消息

rel*_*der 9 amazon-web-services aws-code-deploy

因此,我一直在尝试为我的应用程序设置代码部署,但始终失败。最初,我在存储库中没有appspec.yml文件,因此我收到错误消息,指出appspec.yml文件不存在。

我现在包含了一个appspec.yml文件,但是它仍然无法正常工作,并且没有给出任何错误消息。没有提到任何事件,就像添加appspec文件之前的事件一样。

关于创建appspec.yml文件,我的知识还不多,但是我从youtube教程中得到了提示,这里是文件。

version: 0.0
os: linux
files:
 - source: /
   destination: /var/www/cms
Run Code Online (Sandbox Code Playgroud)

如果有帮助,则ec2实例正在运行ubuntu服务器,/ ng / www / cms是该目录,nginx应该在该目录中提供文件。

小智 14

有段时间我遇到了这个事情,是由于以下原因:如果我们最初创建并打开ec2实例没有设置IAM服务角色,然后我们添加了服务角色,直到我们重新启动实例才会生效.

  • 经过5个多小时的排查,终于解决了我的问题。谢谢。 (3认同)

Emp*_*nal 13

您面临的最可能的问题是未安装代理或实例没有足够的权限。当部署实例上没有启动任何事件时,这意味着CodeDeploy由于某些原因无法与主机通信。

这是我要采取的步骤:

  1. 确认您已安装CodeDeploy代理
  2. 确认您已创建IAM服务角色
  3. 确认您具有IAM实例配置文件,并且已与该实例关联
  4. 从框中检查您是否可以到达您所在区域的CodeDeploy命令端点。即,ping codedeploy.us-east-1.amazonaws.com否则,您的网络设置可能会限制太多。
  5. 查看主机上的日志以了解发生了什么

  • 就我而言,这是错误的安全组(不允许进行HTTP调用) (2认同)
  • @StepanSuvorov很好。正确设置安全组可能很棘手。更新了答案以进行检查。 (2认同)
  • 就我而言,将 IAM 实例角色关联到实例后,重新启动 CodeDeploy 代理服务解决了该问题(在 Ubuntu 18 上)。谢谢! (2认同)