CodeDeploy管道未找到AppSpec.yml,但显然可用



我几个月前就已经运行过了,所以我知道它是有效的,但我已经创建了一个新的EC2实例来部署我的代码,并遇到了第一个障碍。

我的部署详细信息运行如下:

  • 应用程序停止-成功
  • 下载捆绑包-成功
  • BeforeInstall-失败

查看失败事件后,我得到:

CodeDeploy代理在已解压缩的修订目录中的修订相对路径"AppSpec.yml"中找不到AppSpec文件。该修订已解压缩到目录"C:\ProgramData\Amazon/CodeDeploy/57f7ec1b-0452-444e-840c-4deb4566e82d/d-WH9HTZAW0/deploym-archive",应为AppSpec文件,但在路径"C:\ProgramData\Amazon/CodeDeploy/57f7ec1b-0425-444e-840c-4deb4566e82d/d-WH9HTZAW0/deploym-archive/AppSpec.yml"中找不到。有关更多信息,请参阅AWS CodeDeploy AppSpec文档http://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html

问题是,如果我跳到我的EC2并复制并粘贴完整路径,我肯定会看到YML文件,以及S3存储桶中ZIP文件中的文件,因此它们已成功发送到EC2并解压缩。

所以我确信这不是权限问题,连接正在明确建立,S3 Bucket、CodeDeploy和我的EC2都很高兴。

我在StackOverflow上读了很多关于将AppSpec.yml文件更改为"AppSpec.yml"、"AppSpec.yaml"one_answers"AppSpec.jaml"的帖子,但仍然没有任何效果。

有什么明显的尝试吗?

好吧,经过几天的反复,解决方案令人难以置信地讨厌(和尴尬(。。。

在我的EC2实例中,"文件名扩展名"未被选中,所以我的AppSpec.yml实际上是AppSpec.yml.txt

如果其他人也有类似的问题,请先检查一下!!

如何压缩文件。很多时候,用户最终会"拉两下拉链"。要检查你是否解压缩.zip文件,它会给你文件还是文件夹?

当我们在Windows上压缩文件夹时,它基本上会在zip文件夹中创建一个文件夹,因此CodeDeploy代理无法读取它。因此,要压缩工件,请选择所有文件,然后右键单击将其压缩到同一位置。这样可以避免在zip中创建新文件夹。

最新更新