2014-05-02 48 views
2

TFS 2010中,我正在寻找一种方法来构建全部构建在同一个代理文件夹中的多个构建定义。原因是我试图实现门控签入,但不希望每次都构建整个分支,所以我创建了多个只构建解决方案/项目的子集的构建。使用相同工作区/构建的多个构建定义

Example Branch: 

MyBranch: 

- Folder1 
* Solution1A 
* Solution1B 
- Folder2 
* Solution2A 
* Solution2B 

实施例生成定义:

- MyBranchBuild - builds all solutions in all folders 
- MyBranchFolder1Build - builds all solutions under Folder1 
- MyBranchFolder2Build - builds all solutions under Folder2 

实施例生成代理:

- GateAgent1 
    * Builds in C:\GateAgent1\MyBranch 
- GateAgent2 
    * Builds in C:\GateAgent2\MyBranch 

Currently MyBranchBuild contains in the Workspace definition "Build Agent Folder": 
- $(BuildDir)\Folder1 
- $(BuildDir)\Folder2 

MyBranchFolder1BuildMyBranchFolder2Build只包含工作区映射用于其预期的文件夹。在下面的工作目录

GateAgent1 & 2使用的变化:

C:\GateAgent1\$(BuildDefinitionPath) 

我由此而来版本是要

- C:\GateAgent1\MyBranchBuild 
- C:\GateAgent1\MyBranchFolder1Build 
- C:\GateAgent1\MyBranchFolder2Build 

同样,我的目标是为所有3至下建立:

- C:\GateAgent1\MyBranch 

回答

0

想通了。

  • 构建定义 - >生成代理文件夹= $(SourceDir)\ MyBranch \ Folder1中
  • 生成代理属性 - >工作目录= C:\ GateAgent1为响应
0

而不是$(BuildDefinitionPath)属性,您可以指定硬编码麸皮ch名称在代理属性下的工作目录中。

+0

谢谢,我应该有提到了我实际上有多个分支,我想设置它并使用构建代理来构建所有分支。 所以我实际上有: C:\ GateAgent1 \ MyBranch1 C:\ GateAgent1 \ MyBranch2 – user3597116

+0

它不容易得到的分支,因为一个构建定义可配置来构建不同的分支,也没有默认teambuild财产为分行名称。您应该使用BuildDefinitionName或其他一些属性来创建代理工作区文件夹。 – Jehan33

相关问题