TFS SDK를 사용하여 빌드를 작성, 대기열 및 추적 할 수 있습니까?
-
03-07-2019 - |
문제
나는 인터넷 검색을했으며 이것이 어떻게 수행되는지, 심지어 수행 할 수 있는지 확실한 예제를 찾을 수 없습니다. 나는 그것이 가능하다고 생각한다. 누구든지 나를 올바른 방향으로 가리킬 수 있습니까?
지금까지 나는 MSDN의 TFS 네임 스페이스 문서를보고 있습니다. 저의 목표는 인트라넷 웹 애플리케이션에서 TFS의 빌드를 완전히 자동화하고 추적 할 수 있다는 것입니다.
해결책
Richard는 나를 올바른 방향으로 지적 했으므로 내가 찾은 내용으로 내 질문에 대답 할 것입니다.
예, TFS SDK를 사용하여 빌드를 작성, 대기열 및 트랙으로 만들 수 있습니다. 원하는 인터페이스/클래스는 Microsoft.teamFoundation.Build.Client 네임 스페이스에 있습니다. iBuildserver, iBuildDefinition 및 iBuildDetail이 특히 유용합니다.
TFS 2010 업데이트 : TFS 2010 SDK를 사용한 예제 프로그램이 있습니다. 여기:
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 (vs install의 .../common9/id 폴더)를보십시오.
이것은 어셈블리를 참조합니다 Microsoft.TeamFoundation.Build.Client
그리고 Microsoft.TeamFoundation.Build.Common
도움이되는 것처럼 보이고 ... 다른 TFS CIENT Assembliies로 문서화되지 않은 네임 스페이스를 포함합니다. 여기 MSDN에 있습니다. http://msdn.microsoft.com/en-us/library/cc339575.aspx