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

Code Deploy fails without any error message

所以我一直在尝试为我的应用程序设置代码部署,但它总是失败。最初,我在存储库中没有 appspec.yml 文件,所以我收到 appspec.yml 文件不存在的错误消息。

我现在已经包含了一个 appspec.yml 文件,但它仍然不起作用,也没有给出任何错误消息。没有提到任何事件,就像在添加 appspec 文件之前一样。

在创建 appspec.yml 文件方面,我的知识还不够初学者,但我从 youtube 教程中得到了提示,这里是文件。

version: 0.0
os: linux
files:
 - source: /
   destination: /var/www/cms

如果有帮助,ec2 实例是 运行 一个 ubuntu 服务器,/var/www/cms 是 nginx 应该从中提供文件的目录。

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

这是我要采取的步骤:

  1. Confirm that you installed the CodeDeploy agent
  2. Confirm that you've created the IAM service role
  3. Confirm that you have the IAM Instance Profile and that it's associated with the instance
  4. 检查您是否可以从盒子到达您所在区域的 CodeDeploy 命令端点。即 ping codedeploy.us-east-1.amazonaws.com 否则,您的网络设置可能过于严格。
  5. Look at the logs on the host to see what's going on

我有时遇到过这件事,原因如下: 如果我们一开始创建并开启ec2实例时没有设置IAM服务角色,之后又添加了服务角色,需要重启实例才能生效。

我已将 IAM 角色附加到 EC2 实例,但我没有重新启动我的 systemd 服务。这就是失败的原因。

此外,无需重启实例,只需重启codedeploy-agent的systemd服务即可。

如果有帮助,我遇到了同样的问题,原因是 ec2 实例中没有安装 codedeploy 代理。 安装后一切正常。