Есть ли способ получить статус контроллера (и агента) tfs teambuild из командной строки? - PullRequest
1 голос
/ 20 февраля 2012

есть ли способ получить статус контроллера (и агента) команды Teambuild tfs 2010 из командной строки?мои контроллеры (получили около 20) продолжают перезапускаться (мы знаем, почему это так), и я хотел бы запустить скрипт (psexec?), чтобы проверить, что осталосьУра

1 Ответ

2 голосов
/ 20 февраля 2012

Возможно иметь небольшое консольное приложение, которое сделает это за вас следующим образом:

using System;
using Microsoft.TeamFoundation.Build.Client;
using Microsoft.TeamFoundation.Client;

namespace GetAgentsStatus
{
    class Program
    {
        static void Main()
        {
            TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("CollectionUri"));
            IBuildServer buildService = (IBuildServer)teamProjectCollection.GetService(typeof(IBuildServer));
            IBuildController buildController = buildService.GetBuildController("BuildControllerName");

            foreach (var agent in buildController.Agents)
            {
                if(agent.Status == AgentStatus.Offline || agent.Status == AgentStatus.Unavailable)
                {
                   Console.WriteLine(string.Format("{0} needs restarting",agent.Name));
                }
            }
        }
    }
}

Если вы откроете какое-либо определение сборки для редактирования, перейдите к «Build Defaults», чтобы получить значение BuildControllerName

...