CodeDeploy代理在版本相对路径“ appspec.yml” 的解压缩版本目录中找不到AppSpec文件。
修订版已解压缩到目录“ / opt / codedeploy-agent / deployment-root / 0bb5a5aa-5894-4575-a69c-a7a4e79b4cdf / d-HQ5GBC7SW / deployment-archive”
AppSpec文件是预期的,但在路径上找不到” /opt/codedeploy-agent/deployment-root/0bb5a5aa-5894-4575-a69c-a7a4e79b4cdf/d-HQ5GBC7SW/deployment-archive/appspec.yml”
。答案 0 :(得分:2)
您是否将appspec.yml文件放在文件夹捆绑包的根目录下?如果是,您如何创建捆绑包?如果您仅创建.zip,则需要确保将文件添加到zip中而不是文件夹中。
答案 1 :(得分:2)
我遇到了同样的问题,另一个答案帮助我得出了正确的结论。在我的情况下,我的git存储库中有appspec.yml
文件,但是我忘记了将其添加到工件文件部分。结果,appspec.yml
没有包含在zip中,因此部署步骤找不到它。
在您的buildspec.yml
中,添加:
artifacts:
files:
- appspec.yml
- ... other files to include in your build ...
我的部署配置中也有其他错误。查看日志文件的底部有助于发现它们:
less /var/log/aws/codedeploy-agent/codedeploy-agent.log
有一次,尝试运行部署并且停止并重新启动codedeploy代理没有帮助时,我的EC2实例也挂起。我必须完全重新启动EC2实例。
这些文档对您有帮助:https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html
答案 2 :(得分:0)
不是最有用的答案。但是我遇到了这个问题,以及代码构建找不到一整天在appspec.yml中定义的脚本,然后最后才开始重新启动ec2并找到了脚本。
答案 3 :(得分:0)
添加到 Aura 的答案中,为我解决了这个问题。再次感谢欧拉!对于 Mac 用户:
要创建包含所有文件的 zip,请在 finder 中打开要压缩的文件夹,突出显示所有文件(使用命令 A),右键单击,然后选择“压缩 XYZ 项目”。
您可能犯的错误是右键单击文件夹本身,然后单击“压缩文件夹名称”。
压缩整个文件夹的问题是“解压缩的目录”最终成为一个目录本身。因此,当 CodeDeploy 代理查找 appspec.yml 文件时,它会看到类似“FolderName/”的内容,而不是 FolderName 的内容(应包含 appspec.yml)。
希望这些额外的细节能有所帮助。