2014-05-02 46 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

相關問題