2016-11-12 92 views
0

我認爲這將是非常直接的,但它看起來像模板必須修改。任何人都知道該怎麼做才能將這件作品添加到默認模板中?TFS 2012構建定義/模板 - 如何自動設置構建質量?

我知道如何編輯模板,我只是不知道我需要做些什麼來完成這項工作。

+0

你爲什麼要自動設置建設質量作爲構建的一部分嗎?除了編譯成功/失敗以及單元測試是否通過之外,您不知道關於構建質量的任何信息。 –

+0

如果一切都過去了,我會將它設置爲釋放。我可以在構建期間進行檢查以處理所有這些問題。我只是不知道如何設置該部分。自動化構建沒有多大意義,但是構建管理器需要手動設置每個構建的每個構建質量。那真是太瘋狂了。構建可以通過得到多少來確定質量。 – user5855178

回答

0

This case已經提供您的需求的解決方案:

  1. 複製DefaultTemplate.xaml到DefaultTemplateCustom.xaml並打開它
  2. 單擊摺疊在右上角
  3. 打開工具箱中的所有鏈接並找到指定活動。它坐落在基元部分
  4. 拖動分配活動工作流的結束,「運行的MSBuild」活動
  5. 轉到屬性窗口後。將「」參數設置爲BuildDetail.Quality。設置「」到「XXX(做工)
  6. 找到的InvokeMethod在工具箱中,拖動它和分配活動
  7. 設置「目標對象後掉落「至BuildDetail。設置「MethodName」至保存
  8. 保存構建定義xaml文件並將其檢入,然後使用自定義定義進行構建。
+0

我已經試過了。分配活動不允許您將字符串直接設置到此屬性中:驗證錯誤:活動「1:DynamicActivity」的私有實現具有以下驗證錯誤:編譯器錯誤遇到處理表達式「BuildDetail.Quality」.Invalid L值表達式:參照表達式不能以轉換結束。提供的表達式類型必須與VisualBasicReference 或LambdaReference 的類型T完全匹配。 – user5855178

+0

您的構建模板中存在錯誤,您需要檢查模板中的錯誤並進行更正。假設你有'Microsoft.TeamFoundation.Build.Client.BuildDetail'是不可訪問的錯誤,那麼在這種情況下檢查解決方案https://social.msdn.microsoft.com/Forums/vstudio/en-US/49f11ed9-9fa8- 4c20-952a-d39ee7e71051/can-no-longer-user-builddetaildroplocation-for-copydirectory -with-tfs-2013-using-build-process?forum = tfsbuild –

+0

我已經在TfvcTemplate.12.xaml(I不再有TFS 2012 Build Definition),並且在「運行MSBuild」步驟後移動Assign活動和InvokeMethod活動,然後獲得成功的結果。 –

0

您還可以考慮創建一個PowerShell腳本來設置通過TFS API的構建質量,然後在您的構建模板中調用此PowerShell腳本。有關詳細信息,請參閱此鏈接:PowerShell and TFS: The Basics and Beyond

下面是一個簡單的腳本來設置構建質量:

$builduri = "vstfs:///Build/Build/1"; 
$collectionurl = "http://xxxx:8080/tfs/xxx/"; 
$tfs = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($collectionurl); 
$buildservice = $tfs.GetService([Microsoft.TeamFoundation.Build.Client.IBuildServer]); 
$build = $buildservice.GetBuild($builduri); 
$build.Quality = "Released"; 
$build.Save()