빌드 컨트롤러 배포 및 구성

Team Foundation Build를 사용하려면 간단한 작업을 수행하고 프로세서를 많이 사용하는 빌드 프로세스 작업을 빌드 에이전트 풀에 배포할 빌드 컨트롤러가 팀에 하나 이상 있어야 합니다.

단일 컴퓨터 시스템(독립 실행형)

각 빌드 컨트롤러는 단일 팀 프로젝트 컬렉션 전용으로 사용됩니다. 빌드 컨트롤러는 빌드 이름 결정, 버전 제어의 레이블 생성, 메모 기록 및 빌드 상태 보고와 같은 몇 가지 간단한 작업을 수행합니다. 빌드 컨트롤러는 AgentScope 활동을 사용하여 코드 컴파일이나 테스트 실행 같이 프로세서를 많이 사용하는 작업을 풀의 빌드 에이전트에 위임합니다. 이러한 빌드 에이전트는 같은 빌드 서버 또는 다른 빌드 서버에서 호스팅될 수 있습니다.

빌드 컨트롤러에는 일반적으로 많은 프로세서 시간이 필요하지 않기 때문에 대체로 위와 같이 Team Foundation Server와 동일한 컴퓨터에서 호스팅하거나 절전 물리적 컴퓨터 또는 가상 컴퓨터에서 호스팅할 수 있습니다.

하지만 빌드 컨트롤러는 특정 상황에서 많은 메모리를 요구할 수 있으므로 필요에 따라 충분한 메모리를 제공하여 올바르게 작동하도록 해야 합니다. 또는 팀의 요구 및 리소스에 따라 Team Foundation Server 외의 다른 컴퓨터에서 빌드 컨트롤러를 실행할 수도 있습니다.

2대의 빌드 서버

필요한 권한

빌드 서버에서 Windows Administrators 그룹의 멤버이고 팀 프로젝트 컬렉션에서 Project Collection Build Administrators 그룹의 멤버여야 합니다. Team Foundation Server에 대한 사용 권한 참조을 참조하십시오.

수행할 작업

  • 빌드 컨트롤러 만들기 또는 수정

  • 빌드 프로세스에서 보충 이진 파일을 활용할 수 있도록 허용

  • 최대 동시 실행 빌드 수 지정

  • 빌드 컨트롤러 제거

  • Visual Studio Online에서 호스팅되는 팀 프로젝트 컬렉션과 함께 빌드 컨트롤러 사용

빌드 컨트롤러 만들기 또는 수정

빌드 서버에서 빌드 컨트롤러를 만들거나 수정하려면

  1. 빌드 서버에 로그온합니다.

  2. Windows 시작에서 Team Foundation 관리 콘솔을 실행합니다.

  3. Team Foundation 관리 콘솔의 트리 창에서 서버 이름을 확장하고 빌드 구성 노드를 선택합니다.

    참고

    설치된 기능 구성설치된 기능 구성 메시지가 나타나는 경우 빌드 서버 배포를 참조하십시오.

  4. 빌드 구성 페이지에서

    • 컨트롤러가 나열되지 않는 경우 새 컨트롤러를 선택합니다.

    • 컨트롤러가 목록에 이미 있는 경우

      빌드 컨트롤러

      속성을 선택합니다.

    빌드 컨트롤러 속성 대화 상자가 나타납니다.

Visual Studio에서 빌드 컨트롤러를 수정하려면

  1. Visual Studio의 팀 탐색기에서

    1. 팀 프로젝트 컬렉션의 팀 프로젝트에 아직 연결되어 있지 않은 경우 팀 프로젝트에 연결합니다.

    2. 홈 아이콘 을 선택한 후 빌드 아이콘 빌드를 선택합니다.

  2. 빌드 페이지에서 작업을 선택한 다음 빌드 컨트롤러 관리를 선택합니다.

    빌드 컨트롤러 관리 대화 상자가 나타납니다.

    빌드 컨트롤러 관리 대화 상자

  3. 수정할 빌드 컨트롤러를 선택한 다음 속성을 선택합니다.

    빌드 컨트롤러 속성 대화 상자가 나타납니다.

빌드 컨트롤러 속성 대화 상자

표시 이름설명 필드에 팀 멤버가 빌드 프로세스를 정의할 때 적절한 빌드 컨트롤러를 쉽게 식별할 수 있도록 이름과 설명을 입력합니다.

빌드 컨트롤러를 구성하는 방법에 대한 자세한 내용은 아래 섹션을 참조하십시오.

빌드 프로세스에서 보충 이진 파일을 활용할 수 있도록 허용

Team Foundation Server에 업로드한 이진 파일을 활용하기 위해 빌드 프로세스를 사용할 수 있으며, 예를 들면 다음과 같습니다.

빌드 프로세스에서 이러한 종류의 코드를 활용할 수 있게 하려면 사용자 지정 어셈블리의 버전 제어 경로 상자에 지정한 폴더(또는 하위 폴더)에 이진 파일을 업로드합니다. 이 상자에서 값을 설정하거나 수정하면 빌드 서버가 자동으로 다시 시작되어 어셈블리를 로드합니다.

빌드 결과에 TF215097 오류 메시지가 있는 경우 빌드 프로세스에 포함된 사용자 지정 작업이 이 폴더나 하위 폴더에 없을 가능성이 있습니다.

최대 동시 실행 빌드 수 지정

대부분의 경우 이 값을 사용할 수 있는 에이전트 수를 기본값으로 설정으로 유지해야 합니다. 그러나 경우에 따라 빌드 큐의 깊이를 제어할 수 있습니다. 예를 들면 다음과 같습니다.

  • 대부분의 빌드가 중단된 상태로 빌드 에이전트가 할당될 때까지 기다리지만 실행 중 상태로 표시되는 빌드가 너무 많을 수 있습니다. 이런 상황은 팀을 혼동시킬 수 있습니다. 문제를 방지하려면 최대값 지정을 선택한 다음 빌드 컨트롤러에서 풀링되는 빌드 에이전트 수보다 작은 값을 지정합니다.

  • 빌드가 빌드 컨트롤러 아래에 있는 12개의 빌드 에이전트 풀에서 한 번에 둘 이상의 빌드 에이전트를 활용할 수 있도록 사용자 지정 빌드 템플릿을 디자인합니다. 이 빌드 컨트롤러에서 처리되는 빌드는 3개의 빌드 에이전트에 동시에 위임하는 사용자 지정 빌드 템플릿을 기반으로 합니다. 빌드 큐 데이터를 보다 유용하게 사용하려면 최대 동시 실행 빌드 수최대값 지정과 값 4로 설정하여 빌드 컨트롤러를 구성합니다.

빌드 컨트롤러 제거

  1. 위의 Visual Studio에서 빌드 컨트롤러 수정에 설명된 대로 Visual Studio에서 빌드 컨트롤러 관리 대화 상자를 엽니다.

  2. 빌드 컨트롤러에서 각 빌드 에이전트를 선택한 다음 제거를 선택하여 제거하거나 속성을 선택한 다음 빌드 에이전트 속성 대화 상자를 사용하여 빌드 에이전트를 다른 빌드 컨트롤러에 할당합니다.

  3. 제거할 빌드 컨트롤러를 선택한 다음 제거를 선택합니다.

참고

빌드 서버에 로그온되어 있는 동안 Team Foundation 관리 콘솔을 사용하여 빌드 컨트롤러를 제거할 수도 있습니다.하지만 이 경우에도 Visual Studio를 사용하거나 먼저 다른 빌드 서버에 로그온하여 빌드 컨트롤러에서 풀링된 원격 빌드 에이전트를 제거해야 할 수 있습니다.

Visual Studio Online에서 호스팅되는 팀 프로젝트 컬렉션과 함께 빌드 컨트롤러 사용

호스팅된 빌드 컨트롤러 사용: 팀 프로젝트 컬렉션을 Visual Studio Online에서 호스팅하는 경우 사용자 지정 빌드 컨트롤러를 배포하지 않고 호스팅된 빌드 컨트롤러를 사용할 수 있습니다. 호스팅된 빌드 컨트롤러를 사용하려면 빌드 프로세스를 정의할 때 선택하면 됩니다. 호스팅된 빌드 컨트롤러 사용을 참조하십시오.

온-프레미스 빌드 컨트롤러 사용: 빌드 프로세스에 호스팅된 빌드 컨트롤러 기능 이외의 리소스가 필요한 경우 온-프레미스 빌드 컨트롤러를 호스팅된 팀 프로젝트 컬렉션에 연결할 수 있습니다.

Team Foundation Service, 온-프레미스 빌드 서버

다음 단계

  • 빌드 에이전트 배포 및 구성
    빌드 에이전트를 사용하여 프로세서를 많이 사용하는 빌드 작업을 수행합니다. 여기에는 버전 제어에서 파일 가져오기, 작업 영역 프로비전, 코드 컴파일 및 테스트 실행이 포함됩니다. 각 빌드 서버에서 하나 이상의 빌드 에이전트를 호스팅할 수 있습니다.

  • 저장 폴더 설정
    빌드 시스템이 팀에 이진 파일, 테스트 결과 및 로그 파일을 제공할 수 있도록 하나 이상의 저장 폴더를 준비하고 지정할 수 있습니다.

  • Team Foundation Build 시스템 확장
    팀과 코드베이스가 증가하면 상대적으로 간단하게 빌드 시스템을 점진적으로 확장할 수 있습니다.

  • 빌드 시스템 관리
    빌드 서버를 배포한 후 Team Foundation 관리 콘솔에서 관리할 수 있습니다. Team Foundation 관리 콘솔 또는 Visual Studio에서 빌드 컨트롤러와 빌드 에이전트를 관리할 수 있습니다.

  • 빌드 프로세스 정의
    빌드 시스템을 배포한 후에는 컴파일할 코드 프로젝트, 빌드를 트리거하는 작업, 실행할 테스트 및 팀에 필요한 다른 모든 절차에 대한 지침이 포함된 빌드 프로세스를 정의할 수 있습니다.