1

我已经到了我必须让我的服务织物集群部署到Azure的:)除了有状态/无状态的服务,我有2个MVC应用程序的点。我目前在web.config文件中有几个设置(主要是连接字符串)。存储配置设置应用程式

我打算配置持续构建/部署使用Visual Studio在线,但还没有到困扰到这样做呢。

哪里是存储配置设置的推荐位置。我需要设置3个不同的环境(dev/test/prod)。

我发现了一个参考,在某些时候,来存储这听起来像一个更好的地方来存储生产凭据比正针对应用程序的源代码的部分配置文件生成定义设置。我需要限制对生产环境的访问权限,并让他们在所有开发人员都可以访问的配置文件中听起来不是最好的方法。

任何白皮书或有关这一点,我应该知道的最佳做法?

+0

https://stackoverflow.com/questions/33928204/where-do-you-set-and-access-run-time-configuration -parameters-per-environment-fo 我使用类似的方法存储我的配置值,然后在发布之前在VSTS上使用令牌替换。可能有更好的方法,所以我不会发布这个答案! – Mardoxx

+0

谢谢。我认为这是避免将生产密码作为源代码的一部分的唯一方法,这是一个很大的问题 –

+0

经过一些考虑后,我得出结论:最好将值存储在一个天蓝色的密钥库中。与维护构建定义中的值相比,这将使我能够更好地进行脚本/部署/测试。 –

回答

1

您可以使用去发布配置和服务织物项目的应用参数来存储您的设置为每个环境。

在我的情况下,我有一个开发,同源和生产环境与不同的数据库连接字符串,所以我创建发布配置文件名为Cloud.Homolog.xml,Cloud.Production.xml和开发环境,我仍然使用Local.5Node.xml。

然后,当我想在一些这种环境中部署我选择正确的发布配置文件。

这里是多个环境管理的文档:

Link

+1

我对该解决方案不满意,因为生产密码将被签入到源代码管理系统,这正是我想要避免的。谢谢你的链接顺便说一句。它确实包含大量使用完整信息。 –

+0

这是我将结合将应用程序存储在Azure保险库中的解决方案。这样信息被保密,因为它不会被检入到源代码控制中,因为代码只保留对键的引用而不是值。 https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-application-secret-management –

+0

密钥库也非常有趣,如果您发现如何将密码存储在密钥库中并与这,请分享你的解决方案,因为我已经尝试存储在密钥库中,但我没有发现如何访问密钥库并恢复此值。 –