Можно ли использовать TFS SDK для создания, очереди и отслеживания сборок?

StackOverflow https://stackoverflow.com/questions/611485

  •  03-07-2019
  •  | 
  •  

Вопрос

Я прибегаю к помощи и не могу найти убедительных примеров того, как это делается, или вообще можно ли это сделать. Я предполагаю, что это возможно. Может кто-то указать мне верное направление?

До сих пор я просматривал документацию по пространству имен TFS на msdn. Моя цель - иметь возможность полностью автоматизировать и отслеживать наши сборки в TFS из веб-приложения интрасети.

Это было полезно?

Решение

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

Да, вы можете использовать TFS SDK для создания, постановки в очередь и отслеживания сборок. Необходимые интерфейсы / классы находятся в пространстве имен Microsoft.TeamFoundation.Build.Client. IBuildServer, IBuildDefinition и IBuildDetail особенно полезны.

ОБНОВЛЕНИЕ TFS 2010: Вот пример программы, использующей SDK TFS 2010, найден здесь :

using System;
using System.Collections.Generic;
using Microsoft.TeamFoundation.Build.Client;
using Microsoft.TeamFoundation.Build.Workflow;
using Microsoft.TeamFoundation.Client;

namespace ManageBuildTemplates
{
    class Program
    {
        static void Main(string[] args)
        {
            TfsTeamProjectCollection collection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://jpricket-test:8080/tfs/collection0"));
            IBuildServer buildServer = collection.GetService<IBuildServer>();

            IBuildDefinition definition = buildServer.GetBuildDefinition("UnitTests", "Definition1");

            IBuildRequest request = definition.CreateBuildRequest();
            request.ProcessParameters = UpdateVerbosity(request.ProcessParameters, BuildVerbosity.Diagnostic);

            buildServer.QueueBuild(request);
        }

        private static string UpdateVerbosity(string processParameters, BuildVerbosity buildVerbosity)
        {
            IDictionary<String, Object> paramValues = WorkflowHelpers.DeserializeProcessParameters(processParameters);
            paramValues[ProcessParameterMetadata.StandardParameterNames.Verbosity] = buildVerbosity;
            return WorkflowHelpers.SerializeProcessParameters(paramValues);
        }
    }
}

Другие советы

Посмотрите на tfsbuild.exe (в папке ... / Common9 / IDE установки VS).

Это ссылка на сборки Microsoft.TeamFoundation.Build.Client и Microsoft.TeamFoundation.Build.Common , которые выглядят полезными, ... и содержат пространства имен, которые не задокументированы другие сборки TFS cient, но они находятся на MSDN здесь http://msdn.microsoft .com / EN-US / библиотека / cc339575.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top