Elastic Beanstalk .ebextensionsconfiguration脚本​​不在Windows部署上运行

我有一个Microsoft ASP.NET应用程序,我通过Elastic Beanstalk成功部署到服务器。

但是,我试图在.ebextensions下运行一些configuration文件,以便设置我的应用程序使用的某些软件包。

例如,我有一个NewRelic脚本安装如下:

files: "c:\\temp\\redistribution\\newrelic\\NewRelicDotNetAgent_x64.msi": source: http://download.newrelic.com/dot_net_agent/release/NewRelicDotNetAgent_x64.msi commands: instNewRelic: command: msiexec.exe /ic:\\temp\\redistribution\\newrelic\\NewRelicDotNetAgent_x64.msi /qb NR_LICENSE_KEY=<mylicense here> INSTALLLEVEL=1 iisRestart: command: c:\\windows\\system32\\iisreset.exe /RESTART 

该命令应该下载安装程序(可通过服务器访问)并运行该程序包。

问题是,我没有看到任何文件下载的指示,甚至脚本甚至试图由弹性beanstalk进程运行。

我检查了以下内容:

  • 解决scheme中包含.ebextensions下的configuration文件,并检查了它们是否已部署到服务器。
  • 服务器可以访问我尝试下载的任何文件。
  • 应用程序运行正常,只是这个初始化脚本不工作。
  • 我曾尝试部署到Windows 2008 IIS 7.5和Windows 2012 IIS 8.5,它不工作。

任何帮助搞清楚这将不胜感激。

谢谢,

我解决了这个问题,确保在VS中包含项目中的所有文件。

我认为通过将脚本标记为内容/复制总是将它们包含在目标中,而不是在bin文件夹下。 问题是.ebextensions需要位于网站的根目录下,您只能通过在Package / Publish Web下selectInclude All Files选项来实现。 这将复制站点根目录下的.ebextensions,然后由Elastic Beanstalk工作人员将其拾取。

打包/发布Web项目选项

在将文件构build操作设置为“内容”后,我可以运行ebextensions。

右键单击文件>属性>构build操作。 设置为“内容”

它也有助于validation该文件的内容是有效的在线parsing器。