默認情況下,當運行排隊的構建時,MSBuild會調用CoreLabel任務來標記構建中包含的源文件 - 如何控制此標籤的位置被建造?覆蓋由TFS 2008/2010中的MSBuild創建標籤的位置
基本上,我想在標籤在團隊項目的根目錄下創建(即文件夾「客戶端」下方),但看來該標籤在的根目錄中創建的工作文件夾工作區(即項目1 \開發的\ Sources):
$ <-- Project Collection
+- Client <-- Team Project
+- Project 1 <-- Project
+- Deployments <-- Assets for a deployment
+- 1.0.0.0
+- 1.1.0.0
+- Development <-- Development Branch
+- Source <-- Dev Build Definition working folder mapped here.
+- Environment <-- Scripts, etc. for deployments.
+- Main <-- Main Branch
+- Source <-- Release Build Definition working folder mapped here.
在構建定義,我們在爲因發展或主要「源」文件夾級別指定的工作區中的「工作文件夾」構建類型。
望着構建日誌,它看起來像標籤應在客戶端級別創建:
Task "Label" (TaskId:42)
Label TeamFoundationServerUrl="http://TFSServer:8080/tfs/DefaultCollection"
BuildUri="vstfs:///Build/Build/4538"
Name="Nightly_20110303.5"
Scope="$/Client"
Recursive=True
Comments="Version-1.0.0.0 Requested-xxx Get-T Branch-Development"
Version="WCATQCDEV-BLD_35_8"
Child="Replace"
Files="$/" (TaskId:42)
Label [email protected]$/Client (version WCATQCDEV-BLD_35_8) was successfully created. (TaskId:42)
然而,即使Files
設置爲$/
標籤仍然在工作文件夾級別創建。根據文檔,Files
參數應該指定哪些文件包含在標籤中,但很明顯,它沒有按我們的意願工作。
我已經成功地修改了使用BeforeLabel
任務設置LabelComment
屬性創建的評論,但是,試圖設置在同一個任務,像$/Client
的LabelFiles
財產似乎並沒有影響到位置的標籤是在調用Label方法時,在日誌中創建,並且似乎最終會在日誌中損壞爲%26/Client
。
感謝您的回覆 - 是的,我意識到'範圍'有效地定義了標籤的範圍 - 我們一直在使用它,很好地在不同的團隊項目中使用相同名稱的多標籤。我希望'文件'將使我能夠控制標籤的創建位置。所以基本上,我們需要創建一個獨立的構建任務,並標記根中的所有內容?因爲如果我從命令行運行tf標籤,我可以使用ItemSpec參數在TFS中的任何位置設置標籤,而不管我配置的任何工作文件夾是什麼? – 2011-03-05 10:55:32
我認爲你正在使用TFS2010。你使用默認構建模板(DefaultTemplate.xaml)還是升級構建模板(UpgradeTemplate.xaml)? – Jehan33 2011-03-05 15:40:30
是的,我們正在使用TFS2010,但我相信我們正在使用2008樣式構建項目 - 我有一個包含許多任務的.proj文件,主要是因爲我們沒有時間在項目開始學習新的基於工作流的做事方式:(因此我可能錯過了這個問題。 – 2011-03-07 15:25:59