È possibile utilizzare l'SDK TFS per creare, mettere in coda e tenere traccia delle build?
-
03-07-2019 - |
Domanda
Ho cercato su Google e non riesco a trovare esempi concreti su come farlo, o se è possibile farlo. Suppongo che possa. Qualcuno può indicarmi la giusta direzione?
Finora ho cercato nella documentazione dello spazio dei nomi TFS su msdn. Il mio obiettivo è essere in grado di automatizzare e tracciare completamente le nostre build in TFS da un'applicazione Web Intranet.
Soluzione
Richard mi ha indicato la giusta direzione, quindi risponderò alla mia domanda con quello che ho trovato.
Sì, è possibile utilizzare l'SDK TFS per creare, mettere in coda e tenere traccia delle build. Le interfacce / classi desiderate si trovano nello spazio dei nomi Microsoft.TeamFoundation.Build.Client. IBuildServer, IBuildDefinition e IBuildDetail sono particolarmente utili.
AGGIORNAMENTO TFS 2010: Ecco un esempio di programma che utilizza l'SDK TFS 2010, trovato qui :
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);
}
}
}
Altri suggerimenti
Guarda tfsbuild.exe (nella cartella ... / Common9 / IDE dell'installazione VS).
Questo fa riferimento agli assembly Microsoft.TeamFoundation.Build.Client
e Microsoft.TeamFoundation.Build.Common
che sembrano utili, ... e contengono spazi dei nomi che non sono documentati con gli altri assemblaggi cient di TFS, ma sono su MSDN qui http://msdn.microsoft .com / it-it / library / cc339575.aspx