2016-11-12 8 views
0

Я думал, что это будет довольно прямолинейно, но похоже, что шаблон необходимо изменить. Кто-нибудь знает, что делать, чтобы добавить эту часть к шаблону по умолчанию?TFS 2012 Build Definition/Template - Как автоматически настроить качество сборки?

Я знаю, как редактировать шаблоны, я просто не знаю, что мне нужно сделать, чтобы сделать эту работу.

+0

Почему вы хотите, чтобы установить качество сборки автоматически, как часть сборки? Вы ничего не знаете о качестве сборки в этот момент, кроме компиляции, были успешными/неудачными и прошли ли модульные тесты. –

+0

Я отпущу его, если все пройдет. Я могу делать проверки во время сборки, чтобы справиться со всем этим. Я просто не знаю, как установить эту часть. Не имеет смысла автоматизировать сборку, но менеджер сборки должен установить каждое качество сборки для каждой сборки вручную. Это просто орехи. В сборке можно выяснить, каково качество, насколько оно далеко. – user5855178

ответ

0

This case уже представила решение для вашего требования:

  1. Скопируйте DefaultTemplate.xaml в DefaultTemplateCustom.xaml и открыть
  2. Нажмите Распад Все ссылки в правом верхнем углу
  3. Открыть панель инструментов и найдите Назначение. Он расположен в примитивов раздела
  4. Перетащите Присвоить активность к концу рабочего процесса, после деятельности «Run MSBuild»
  5. Перейти к окну свойств. Установите параметр «To» в значение BuildDetail.Quality. Установите «значение» на «ххх (качество сборки)»
  6. Расположить InvokeMethod в панели инструментов и перетащите его и поместите его после Присвоить активности
  7. Установите "Target Object "до BuildDetail. Set "MethodName" to Сохранить
  8. Сохраните файл конфигурации xaml и проверьте его, затем создайте с помощью настраиваемого определения.
+0

Я уже пробовал это. Assign Activity не позволяет вам устанавливать строки непосредственно в это свойство: Ошибка проверки: частная реализация активности «1: DynamicActivity» имеет следующую ошибку проверки: ошибка с компилятором встретила выражение обработки «BuildDetail.Quality» .Invalid L -value выражение.: Выражения выражения не могут заканчиваться преобразованием. Тип предоставленного выражения должен точно соответствовать типу T VisualBasicReference или LambdaReference . – user5855178

+0

В шаблоне сборки есть ошибки, вам нужно проверить ошибку в шаблоне и исправить ее. Предполагая, что вы получили «Microsoft.TeamFoundation.Build.Client.BuildDetail», недоступная ошибка, затем проверьте решение в этом случае https://social.msdn.microsoft.com/Forums/vstudio/en-US/49f11ed9-9fa8- 4c20-952a-d39ee7e71051/can-no-long-user-builddetaildroplocation-for-copydirectory-with-tfs-2013-using-build-process? Forum = tfsbuild –

+0

Я протестировал решение в TfvcTemplate.12.xaml (I больше не имеют определения TFS 2012 Build Definition), и перемещайте действие Assign и InvokeMethod после «Run MSBuild», а затем получите успешный результат. –

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()