我们有5个不同的开发团队,每个团队都有自己的开发环境(服务器,构建,数据库)。每个开发环境都复制我们的test / preprod / prod环境。项目很多(> 100个,包括所有Web应用程序,Web服务,Windows服务等)。
我们只为每个环境中的连接字符串维护一个配置文件。我们所有的web.config和exe.config文件都通过configsrc引用此文件。这对于test / pre-prod / prod很简单,因为开发人员无法访问它们。但是对于开发环境,他们却这样做。所有开发环境连接字符串都相同,除了它们指向不同的服务器。
我想移至变量库,并在构建/发行期间使用令牌替换,以便可以将所有这些合并到一个不需要在每个环境中维护的单个文件中。
我无法解决的一个问题是如何在开发人员计算机上处理指向开发数据库的本地构建。在发行版中,转换和令牌化在TFS上非常有效,而在本地构建上则没有那么多。 Slow Cheetah希望发布,而Fast Koala不适用于更高版本的.Net框架。在添加新团队时,让开发人员更新另一个团队的连接字符串几乎是不可能的。
答案 0 :(得分:1)
一些选项:
组合两种方法。基准配置文件是本地的。然后是一个生成配置(“发布”,“部署”,无论如何),它将配置文件转换为令牌化版本。然后,部署过程可以使用要部署的环境的正确值进行标准令牌替换。
将WebDeploy程序包与parameters.xml / setparameters.xml一起使用,可用于指定部署时配置转换。