这让我疯了。 我的项目中有一个工作的.ebextensions配置文件,工作正常。 最近我的单个实例失败了,一个新实例启动了。我的配置无法运行所以我试图解决出错的问题。我没有发现任何可疑的东西所以我只是用一个非常简单的命令创建了一个新的.config但它仍然失败!!
我使用在线yaml验证器验证了我的配置文件。
我通过远程桌面连接到实例,看到.ebextensions文件夹实际上是在wwwroot中创建的,然后它就消失了,这意味着它已被弹性beanstalk成功获取。
我还为测试文件夹中的每个人授予了所有权限,以确保这不是原因。
无论我尝试使用旧配置还是此测试命令,它都无效,而弹性beanstalk只是忽略它!
感谢可能出错的任何信息。
commands:
01_Dowork:
command: mkdir kakarot
cwd: c:\\testdir
waitForCompletion: 0
答案 0 :(得分:0)
我认为01_DoWork下的所有内容都需要缩进(command,cwd,waitForCompletion)。另外,请确保使用的是空格而不是标签。
检查VS中配置文件的属性。它应该(我认为)'内容'和'复制如果更新'。另外,请确保将其打包到msdeploy包中。它是obj目录中/下面的.zip文件。
该命令将错误输出已经成功,因此您可能要么忽略错误或添加此错误。我在另一篇SO帖子上发现了这种语法,但不知道该归功于谁: - /。如果目录已存在,则errorlevel将导致命令无法运行。
test: test ! -d c:\\testdir\\kakarot
答案 1 :(得分:0)
If you're creating a package.zip (that inside has a deploy manifest json file plus the actual site.zip content) for a Windows deployment, it appears the .ebextensions directory needs to be inside package.zip, alongside the manifest json, not inside the site.zip, contrary to the current documentation.