将 web.config 部署到亚马逊 beanstalk

Posted

技术标签:

【中文标题】将 web.config 部署到亚马逊 beanstalk【英文标题】:deployment of a web.config to amazon beanstalk 【发布时间】:2015-05-05 11:24:57 【问题描述】:

当我将 .net Web 应用程序部署到 Amazon Beanstalk 时,我的本地 web.config 被完全忽略,它只是被替换为:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appSettings>
        <add key="PARAM3" value="" />
        <add key="PARAM4" value="" />
        <add key="PARAM1" value="" />
        <add key="PARAM2" value="" />
        <add key="PARAM5" value="" />
        <add key="AWS_SECRET_KEY" value="" />
        <add key="AWSSecretKey" value="" />
        <add key="AWS_ACCESS_KEY_ID" value="" />
        <add key="AWSAccessKey" value="" />
    </appSettings>
</configuration>

我认为 beanstalk 无法解析我的 web.config 的某些部分,所以我将 web.config 简化到最低限度:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appSettings>
    <add key="mykey" value="myvalue"/>
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
  </system.web>
</configuration>

我得到了同样的结果。我的 appSettings 和我的 web.config 的所有其他部分都没有出现在部署的 web.config 中。 我到处找,我找不到这方面的文档。 我的本地应用程序中没有任何转换(即没有 web.release.config 文件)。 我可以以某种方式禁用 Beanstalk 的这个“功能”吗?

我不要求采取任何行动,我只想部署我的原始 web.config。

【问题讨论】:

您是通过 Visual Studio 还是通过 awsdeploy.exe 命令行进行部署?如果是 cmd 行,请分享您的参数。 你解决过这个问题吗? 【参考方案1】:

在 Elastic Beanstalk 控制台中设置环境变量,而不是在您的 git 存储库中。

【讨论】:

我不想设置任何环境变量,我不需要它们。问题是亚马逊正在用我上面帖子中的第一个 web.config 替换我的整个 web.config(包括所有其他部分,如连接字符串、模块、处理程序等)。我希望现在很清楚。你知道是什么原因造成的吗? 我编辑了我的示例,显示所有部分都已替换,以避免混淆。

以上是关于将 web.config 部署到亚马逊 beanstalk的主要内容,如果未能解决你的问题,请参考以下文章

如何在IIS / Azure中单独部署webconfig更改?

如何将 Rails 应用程序部署到 EC2(亚马逊)

将 django 应用程序部署到亚马逊 beanstalk 的数据库问题

如何将 asp.net 实体框架 connectionStrings 移动到 web.config 的 appSettings 部分

无法在Azure上部署基本的Python 3.6 - web.config?

Bamboo 构建计划和部署