È possibile utilizzare l'SDK TFS per creare, mettere in coda e tenere traccia delle build?

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

  •  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.

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top