我正在尽力将控制台应用程序以及Windows服务应用程序部署到AWS。我已经阅读了有关CloudFormation的所有内容,这听起来似乎很可行,但是我看到的所有示例都是针对Web应用程序的。有谁知道是否可以将CloudFormation用于非Web应用程序?如果是这样,是否知道显示示例模板的示例模板?

最佳答案

我最近有一个类似的问题。我实际上是在尝试安装包装MSDeploy程序包,其中包含多个子程序包和一个runCommand来安装它们。

我发现,除非传递给CloudFormation的MSDeploy软件包本身就是iisApp软件包,否则AWSDeploy将会失败。经过调查,结果是因为AWSDeploy使用-setParam:“ IIS Web应用程序名称” =“在配置中设置的值”执行MSDeploy脚本,这就是失败的原因。

为避免此错误并通过AWSDeploy和CloudFormation成功安装非网站,您只需要将参数文件打包到包含此参数的MSDeploy软件包中。

这是一个示例文件。

<parameters>
  <parameter name="IIS Web Application Name" defaultValue="Default Web Site/" tags="isIisApp" />
</parameters>


然后,可以按照以下方式在文件中传递内容,从而创建带有manifest或contentPath的MSDeploy包。

msdeploy -verb:sync -source:contentPath=C:\ConsoleApp\ -dest:package=deploy.zip -declareParamFile=parameters.xml


然后,您可以将其成功用于CloudFormation模板。如果不运行站点,请不要忘记为实例禁用运行状况监视。

10-04 22:29
查看更多