tfs - 如何为分行设置门控签到

标签 tfs msbuild

我的项目有两个构建定义,它有两个分支。 开发和生活。

我已经为开发分支设置了手动构建,并且运行得很好。 现在我想为实时分支设置门控 checkin ,只有当开发人员提交到实时分支时才会触发。这不仅映射到项目的根目录,而且不仅映射到特定分支,而且在我映射项目进行构建之后。

但是,每次开发人员也提交到开发分支时,我的设置都会被触发。

我做错了什么吗?

我的项目布局:

 $/KCTC/Lib/         (Contains all referenced dlls)    
 $/KCTC/Projects/    (contains branches)
 $/KCTC/Projects/Development
 $/KCTC/Projects/Live

分支如何看不到 Lib 引用的文件:

Considered "........\Lib\fluentnhibernate-NH3.1-1.2\Iesi.Collections.dll", but it didn't exist.

我的实时门控构建的设置: 另外,我在项目中的 NUnit 中创建了单元测试,但失败了,因为

Queries\StarMetrics\20110613\StageTestSuite.cs (2): The type or namespace name 'NUnit' could not be found (are you missing a using directive or an assembly reference?)

工作区定义: enter image description here

和我的流程定义

enter image description here

最佳答案

对于为构建定义定义的工作区映射的任何条目下存在的源代码控制项的任何尝试 checkin ,都将触发门控 checkin 。就您而言,您有

$/KCTC/Projects/    (contains branches) <-- remove this
$/KCTC/Projects/Development <-- remove this as well
$/KCTC/Projects/Live  <-- this should contain everything you need for the Live branch correct?

这基本上是说,“对此文件夹下包含的任何内容执行门控 checkin ”...您需要删除指示的行,以确保在从开发分支或父级 checkin 代码时不会触发门控 checkin 包含所有分支的文件夹。

至于您丢失的 Lib 二进制文件,我敢打赌相对路径只是略有不同。我会在构建机器上进行物理检查以确认。

关于tfs - 如何为分行设置门控签到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8135678/

相关文章:

linux - 我的 Linux 开发人员如何将代码 checkin 到我的 Visual Studio Team System 项目中?

c++ - 是否可以在 visual studio 2013 中安装 v140 构建工具?如果是那么怎么办?

TFS Visual Studio 测试任务未填充 TRX 文件

c# - 尝试更新工作项时出现 TFS 错误 - 您必须在请求正文中传递有效的补丁文档

uwp - 使用 MSBuild 构建 Windows 应用商店应用程序时如何跳过打包步骤?

node.js - 如何从 .csproj 文件知道计算机上是否安装了 nodejs?

visual-studio-2010 - 构建网站部署包作为构建后事件

c# - 从 csproj 文件构建依赖树

visual-studio-2010 - 从 TFS 命令行创建新工作区 - 总是添加根工作目录?

tfs - 使用 TFS 进行提交的一些策略是什么?