【问题标题】:ConnectionString Transforms when deploying to AWS Elastic Beanstalk部署到 AWS Elastic Beanstalk 时的 ConnectionString 转换
【发布时间】:2017-05-07 11:01:32
【问题描述】:

我的反对

在我当前的项目中,我正在尝试将 .NET MVC 项目部署到 AWS 上的 Elastic Beanstalk。我过去通常使用 Azure,但在跟踪连接字符串的配置转换信息时遇到了困难。

我尝试过的

已经发现我可以更改/操作 AppSettings,但我不太喜欢将我的连接字符串移动到 appsettings 的想法,如果我不是绝对必须这样做的话。

此外,我不想对生产环境进行 Web.Release.config 转换,因为该项目可能会发布到开发、暂存和生产环境,所有环境都带有单独的连接字符串。

我也尝试查看 ebextensions,但我还没有完全指出改变任何东西的连接字符串的方向。

我在寻找什么

是否有人有任何他们使用过的解决方案或可以推荐的任何资源(博客、指南等)?

tl;博士

寻找一种方法来为部署在 AWS Elastic Beanstalk 上的 ASP.NET MVC 项目执行 ConnectionString 转换。

【问题讨论】:

    标签: c# asp.net asp.net-mvc amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    我没有任何指南,但您可以使用以下步骤来实现您想要做的事情:

    1. 使用配置管理器为每个环境创建新配置
    2. 添加其他配置转换(右键单击 Web.config,然后单击“添加配置转换”)
    3. 在配置转换中为每个环境设置连接字符串转换值
    4. 创建发布配置文件(右键单击 Asp.Net Mvc 项目并单击发布)
    5. 将发布方法设置为“Web 部署包”
    6. 设置配置以匹配您要使用的环境,这将自动应用正确的配置转换
    7. 将包发布到某个位置,然后作为新版本上传到您的 Elastic Beanstalk
    8. 为每个环境重复创建配置和发布配置文件

    请注意,连接字符串在部署包中进行了参数化,实际值将出现在部署 zip 包中的 parameters.xml 文件中,并且 Web.config 将仅具有替换令牌。部署包时,Elastic Beanstalk 会将参数化应用到 Web.config。

    【讨论】:

    • Web Deploy Package 是我们的正确解决方案。对我来说,缺少的部分是 awsdeploy 工具拾取包并从那里进行部署,如果这有意义的话。
    • @KevinR。但是这个解决方案是否仍然给您留下了您并不真正想要的多个转换?我正在寻找类似的东西,但能够将连接字符串设置为 Beanstalk 环境的一部分。到目前为止,我已经找到了这个答案:stackoverflow.com/questions/19917010/… 但这似乎只适用于 AppSettings(和你一样,我想继续使用连接字符串)。
    • 你用的是框架还是核心?使用核心更容易
    猜你喜欢
    • 2015-09-20
    • 2020-08-14
    • 2020-03-24
    • 2020-08-02
    • 2014-12-25
    • 2015-06-03
    • 2020-12-04
    • 2014-12-16
    • 2017-04-11
    相关资源
    最近更新 更多