如何防止特定文件的自动注册

时间:2015-01-29 12:29:41

标签: visual-studio-2013 tfs build merge

我们目前在TFS 2013中运行多个分支机构:

Development
Release
Trunk
etc.

每个分支都有自动化测试版本。这些构建的目的是将每个分支的最新代码(和数据库更改)发布到我们的测试服务器以进行手动测试。我们为每个分支维护一个单独的IIS应用程序,以便可以同时测试不同的版本。

每个分支都有唯一的.csproj,.xml配置文件和web.config设置,这些设置控制每个分支部署到哪个应用程序和数据库,效果很好。

但是,当我们从一个分支合并到另一个分支时,自动合并会替换这些特定于分支的设置,从而导致我们将测试版本部署到错误的URL和数据库。

我知道在Visual Studio设置中可以完全禁用自动合并,但有没有办法可以继续使用除特定文件之外的自动合并?

欢迎任何建议

2 个答案:

答案 0 :(得分:1)

这是任何代码促销模型的众所周知的问题。我建议您转而使用二进制促销模型。

http://nakedalm.com/building-release-pipeline-release-management-visual-studio-2013/

使用二进制升级模型,您可以使用可替换参数构建位一次,并创建或使用一个工具来协调发布,并为每个环境提供正确的变量。

http://nakedalm.com/create-release-management-pipeline-professional-developers/

我最近使用VSO构建了端到端场景。您可以在帖子中看到每个环境的值的传递。

软件行业正朝着持续交付和持续集成的方向发展。在代码促销模型中都不可能。

答案 1 :(得分:0)

您可以在合并期间禁用自动冲突解决,但在这种情况下,您必须手动解决这些冲突(忽略)

选项 - >源控制 - > Visual Studio Team Foundation Server 尝试在生成冲突时自动解决冲突

或者您可以使用tf.exe进行合并:

tf.exe merge /discard CS

使用变更集,该变更集将始终从合并中丢弃。

相关问题