2012-02-20 2 views
1

tfs 2010 teambuild의 컨트롤러 (및 에이전트) 상태를 명령 줄에서 얻을 수있는 방법은 무엇입니까? 내 컨트롤러 (약 20 개가 있음)를 다시 시작해야하는 이유 (우리는 이것이 왜 있는지 압니다.)와 나는 스크립트 (psexec?)를 실행하여 머물러 있는지 확인하고 싶습니다. 다음과 같이이 가능tfs teambuild의 컨트롤러 (및 에이전트) 상태를 명령 줄에서 가져 오는 방법은 무엇입니까?

답변

2

건배 당신을 위해이 작업을 수행 작은 콘솔 응용 프로그램을 가지고 :

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)); 
       } 
      } 
     } 
    } 
} 

당신이 편집에 대한 빌드 정의를 열면, BuildControllerName의 값을 검색 할 "기본 빌드"로 이동

+0

나는 콘솔 앱을 생각조차하지 못했습니다! 좋은 생각이야 – timB33