Можно ли использовать TFS SDK для создания, очереди и отслеживания сборок?
-
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