我的项目有两个构建定义,它有两个分支。 开发和生活。
我已经为开发分支设置了手动构建,并且运行得很好。 现在我想为实时分支设置门控 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?)
工作区定义:
和我的流程定义
最佳答案
对于为构建定义定义的工作区映射的任何条目下存在的源代码控制项的任何尝试 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/