在向Elastic Beanstalk上传(使用zip)新版本后,Elastic Beanstalk上会出现此错误!使用.ebextensions / singlehttps.config文件设置单个实例服务器的https。
答案 0 :(得分:2)
Elastic Beanstalk系统中出现此问题的原因实际上是在Mac osx平台中创建的zip。
如果您使用 eb deploy 命令上传新版本而不是通过压缩应用程序,则问题不会出现!
希望这对某人有所帮助,因为它长期困扰我!!
答案 1 :(得分:2)
如果您正在进行亚马逊AWS研讨会LAB: https://github.com/awslabs/eb-node-express-signup
即。上传和部署Elastic Beanstalk应用
并收到此问题错误:
*错误无法部署应用程序。
*错误应用程序版本1.1.0中的配置文件__MACOSX / .ebextensions /._ setup.config包含无效的YAML或JSON。 YAML异常:无效的Yaml:不可接受的字符' '(0x0)在“”,位置0,JSON异常中不允许使用特殊字符:无效的JSON:位置0处的意外字符( )。更新配置文件。
* INFO环境更新正在开始。
<强>解强>
这是因为MACOS包含一些额外的隐藏文件夹,您需要从ZIP文件中排除这些文件夹。要执行此操作,请在zip上的终端中运行此命令:
$ zip -d nameofyourzipfile.zip __MACOSX/\*
现在重新上传,你应该得到一条成功的消息:
INFO环境更新已成功完成。 INFO已部署新的应用程序版本以运行EC2实例。
希望这能解决你的问题!
答案 2 :(得分:0)
由于它打开了zip文件并进行了压缩,因此Elastic Beanstalk会出现上述错误。如果您在前面的注释中运行command来删除与MACOSX相关的内容,它仍然会给我有关未找到的文件之一的错误。
解决方法是在下载之前,将zip文件重命名为其他扩展名,然后在Mac上将其更改为zip。 当您将此文件上传到Elastic Beanstalk时,它将正常工作。
答案 3 :(得分:0)
在MACOSX上压缩文件夹时,它将在您的文件旁边添加自己的隐藏文件。
如果要创建不包含那些不可见的Mac资源文件(例如“ _MACOSX”或“ ._Filename”和.ds存储文件)的zip,请在zip命令中使用“ -X”选项
$ zip -r -X archive_name.zip folder_to_compress
如果这是一个预先存在的zip文件,则可以使用此处其他人提到的命令
$ zip -d nameofyourzipfile.zip __MACOSX/\*