2015-02-24 44 views
0

我正在尝试合理化配置文件转换的用处,以使部署变得简单,与在源代码控制内部保留连接字符串的安全性相比。目前,有用于登台/部署服务器的发布配置文件,它们具有指向正确数据库的所有配置(连接字符串)。通过使用像Heroku这样的PaaS产品,我认识到这是一件坏事,但是没有简单的方法来解决Windows应用程序问题。Windows appsettings管理和部署

有没有什么好办法从Windows中的我的源代码分离我的配置?

理想情况下,我想服务器本身持有配置(如ENVVAR在heroku上做)。

我最近的想法是使用cli-config设置SQL客户端别名,然后将所有其他数据库存储在数据库中。所以我只会在连接字符串中使用别名(MYAPP_PRODUCTION)。当然,任何不使用数据库的应用程序都不会有这个,所以这也是。。显然cliconfg不让我把安全连接信息。

我也想过在辅助存储库中设置发布配置文件作为git子模块(所以它是一个'配置'回购),但这似乎有点复杂。配置更改绑定到源代码提交? (看起来像是)。

最后的想法我已经是一个配置服务,使应用程序连接到并得到他们的配置,但随后保证这将需要应用程式提供各种各样的apikey(不想一个应用程序阅读应用,烧烤配置我们),而我就回到了我开始的地方。

回答

0

我已经解决这个问题,正在使用环境变量。

它在windows下绝对痛苦,但对于IIS,您可以为应用程序池指定load user profile。这会创建一个Windows虚拟帐户,您可以使用regedit为其设置环境变量。

这不是很漂亮,但它的工作原理,它保持我们的环境配置摆脱源代码和构建服务器。