2008-10-10 7 views
5

Как вы вручную запускаете сборку команды из сборной команды? Например, когда мы были в CC.Net, другие сборки будут запускаться, если определенные сборки будут успешными. Вторая сборка может быть либо проектами, использующими этот компонент, либо дополнительными, долговечными библиотеками тестов для одного и того же компонента.Вручную запускать команду TFS Build

ответ

4

Один из способов, которым вы могли бы это сделать, - это установить объект AfterEndToEndIteration в файл TFSBuild.proj, который будет запускать командную строку TfsBuild.exe, чтобы запустить другие сборки. Я имею в виду что-то вроде этого (хотя я не проверял)

<Target Name="AfterEndToEndIteration"> 

    <GetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)" 
         BuildUri="$(BuildUri)" 
         Condition=" '$(IsDesktopBuild)' != 'true' "> 
     <Output TaskParameter="Status" PropertyName="Status" /> 
    </GetBuildProperties> 

    <Exec Condition=" '$(Status)'=='Succeeded' " 
      Command="TfsBuild.exe start /server:$(TeamFoundationServerUrl) /buildDefinition:&quot;Your Build Definition To Run&quot;" /> 

    </Target> 
3

Я сделал то же самое, Мартин, предложенный в ряде случаев (его блог за полезной, BTW). Тем не менее, мне пришлось запускать каскадные сборки вроде этого (на основе некоторых других сложных правил), достаточных для создания пользовательской задачи. Держите скрипты сборки красивыми и тонкими и предоставляйте вам больше возможностей для гибкости и инкапсуляции.

public override bool Execute() 
    {  
     IBuildDefinition[] buildDefinitions = BuildServer.QueryBuildDefinitions(ProjectName); 

     foreach (IBuildDefinition build in buildDefinitions) 
     { 
      if(build.Enabled) //I did a bunch of custom rules here 
      { 
       Log.LogMessage(String.Concat("Queuing build: ", build.Name)); 
       BuildServer.QueueBuild(build); 
      } 
     } 

     return true; 
    } 

Там еще некоторые хорошие вещи на блоге Аарона Халльберг слишком:

http://blogs.msdn.com/aaronhallberg/archive/2007/04/24/team-build-object-model-queueing-a-build.aspx

 Смежные вопросы

  • Нет связанных вопросов^_^