Share via


빌드 시스템 확장

응용 프로그램의 자동화된 빌드와 테스트를 위해 Team Foundation Build를 사용하려면 먼저 빌드 서버를 설정하고 빌드 컨트롤러와 몇 개의 빌드 에이전트를 추가한 다음 마지막으로 저장 폴더를 지정해야 합니다. 소규모 초기 팀이 새 프로젝트에 대해 작업하는 경우 몇 분 이내에 이러한 모든 빌드 시스템 구성 요소를 단일 컴퓨터에 배포할 수 있습니다. 팀과 코드베이스가 증가하면 상대적으로 간단하게 빌드 시스템을 점진적으로 확장할 수 있습니다.

팀 프로젝트 컬렉션을 Visual Studio Online에서 호스팅하는 경우 이러한 단계를 모두 건너뛰고 아래 설명한 대로 호스팅된 빌드 컨트롤러를 사용할 수 있습니다.

다음은 작고 간단하게 시작한 다음 요구 사항이 커짐에 따라 빌드 시스템을 확장하는 방법을 보여 주는 몇 가지 예제입니다.

  • 호스팅된 빌드 컨트롤러 및 Visual Studio Online

  • 온-프레미스 빌드 서버 및 Visual Studio Online

  • 평가판 사용 또는 소규모 팀을 위한 빌드 시스템

  • 소규모 팀을 위한 빌드 시스템

  • 다중 빌드 서버 시스템

  • 여러 팀 프로젝트 컬렉션을 지원할 빌드 시스템

  • 다음 단계

호스팅된 빌드 컨트롤러 및 Visual Studio Online

팀 프로젝트 컬렉션을 Visual Studio Online에서 호스팅하는 경우 사용자 지정 빌드 서버를 배포하지 않고 호스팅된 빌드 컨트롤러를 사용할 수 있습니다.

Team Foundation Service, 호스팅된 빌드 컨트롤러

Visual Studio Online에서 호스팅된 팀 프로젝트 컬렉션에 호스팅된 빌드 컨트롤러 사용을 참조하십시오.

온-프레미스 빌드 서버 및 Visual Studio Online

팀 프로젝트 컬렉션을 Visual Studio Online에서 호스팅하고 팀에 더 큰 규모 또는 사용자 지정 빌드 에이전트가 필요한 경우 온-프레미스 빌드 서버를 Visual Studio Online에 연결할 수 있습니다.

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

평가판 사용 또는 소규모 팀을 위한 빌드 시스템

Team Foundation Server를 평가용 또는 업무용으로 소규모 팀에서 사용하는 경우 다음 토폴로지가 적합할 수 있습니다.

응용 프로그램 계층의 단일 컴퓨터 시스템

이 토폴로지는 단일 야간 빌드만 실행하는 팀처럼 휴무 시간에만 가끔씩 빌드를 실행하는 팀에 적합할 수 있습니다. 그러나, 대부분의 팀에서는 다음과 같은 이유로 충분하지 않습니다.

  • 빌드 에이전트는 프로세서에 큰 부담을 주므로 응용 프로그램 계층의 성능이 현저히 저하될 수 있습니다.

  • 특히 빌드 컨트롤러에서 여러 활성 빌드 에이전트를 동시에 관리하는 경우 시스템 메모리가 받는 부담이 커질 수 있습니다.

  • Team Foundation Build Service를 설치하면 컴퓨터의 공격 대상 영역이 증가합니다. 빌드 서버: 보안 위험 이해를 참조하십시오.

소규모 팀을 위한 빌드 시스템

소규모 팀에서 온-프레미스 Team Foundation Server 작업을 하는 경우 다음 토폴로지를 고려합니다.

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

프로세서를 많이 사용하는 작업은 빌드 에이전트에 의해 별도의 컴퓨터에서 수행되기 때문에 빌드가 실행될 때 빌드 에이전트가 응용 프로그램 계층의 성능에 영향을 주지는 않습니다.

전용 빌드 서버에서 빌드 컨트롤러를 실행할 수도 있습니다. 그러나 그림에 나와 있는 토폴로지를 적용하면 빌드 서버를 수리하거나 교체해야 하는 경우 등과 같이 영향을 줄이면서 빌드 시스템을 변경할 수 있는 이점이 있습니다.

다중 빌드 서버 시스템

팀과 코드베이스의 규모가 커지면 증분식으로 리소스를 추가하여 요구 사항을 충족할 수 있습니다. 예를 들어 컨트롤러와 빌드 에이전트를 더 추가할 수 있습니다.

다중 빌드 서버가 있는 AT의 컨트롤러

빌드 컨트롤러 A가 응용 프로그램 계층과 동일한 컴퓨터에 있다는 점은 프로세서 관점에서 일반적으로 문제가 되지 않습니다. 그러나 앞에서 설명한 메모리 부담 및 공격 대상 영역 문제로 인해 빌드 컨트롤러를 다른 서버로 이동해야 할 수도 있습니다.

다음 예제와 같이 여러 빌드 서버를 사용하여 각 서버를 전용 목적으로 사용할 수 있습니다.

  • 연속 통합 또는 제어된 체크 인 빌드를 처리하는 빌드 에이전트 전용 고성능 컴퓨터의 빌드 서버 빌드로 인해 작업이 지연되지 않도록 빠르게 실행하기 위해 팀에 이러한 종류의 빌드(특히 제어된 체크 인 빌드)가 필요합니다.

  • 많은 테스트 실행이나 코드 분석과 같이 프로세스를 실행하는 데 많은 시간이 필요한 야간 예약 BVT 빌드 전용 빌드 서버

  • Windows 스토어 응용 프로그램 빌드 및 테스트와 같은 특수 작업 전용으로 준비된 빌드 서버

이러한 상황에서는 특수화된 빌드 에이전트에 태그를 적용한 다음, 빌드 정의에서 올바른 태그 세트가 있는 빌드 에이전트만 사용하도록 제한할 수 있습니다.간단한 기본 빌드 프로세스의 경우 빌드 에이전트 기능이나 목적을 나타내기 위해 태그 할당, 빌드를 처리하는 빌드 에이전트 지정을 참조하고, 고급 사용자 지정 빌드 프로세스의 경우 빌드 에이전트에서 활동 실행을 참조하십시오.

여러 팀 프로젝트 컬렉션을 지원할 빌드 시스템

다음 빌드 시스템 토폴로지 예제는 엔터프라이즈 수준 소프트웨어 활동을 지원할 수 있습니다.

다중 컨트롤러가 있는 다중 컴퓨터 시스템

위와 같이 각 팀 프로젝트 컬렉션에 고유한 빌드 컨트롤러가 있어야 합니다. 이 토폴로지에 의해 빌드 서버가 격리되는 방식을 확인합니다. 팀 프로젝트 컬렉션 A에서 작업하는 팀 멤버는 빌드 컨트롤러 A에서 제어하는 빌드 에이전트만 사용할 수 있습니다. 이 제약 조건은 보다 중요한 지적 재산권에 대한 액세스를 엄격하게 제어해야 하는 상황에서 유용할 수 있습니다.

다음 단계

  • 빌드 서버 배포 및 작업
    온-프레미스 Team Foundation Server와 함께 Team Foundation Build를 사용하려면 빌드 서버를 하나 이상 배포해야 합니다. 하나 이상의 온-프레미스 빌드 서버를 Visual Studio Online에 연결할 수도 있습니다.

    시스템을 확장하는 경우 새 빌드 서버를 배포할 때 기존 빌드 서버를 대체할 수 있습니다.예를 들어 더 강력한 새 컴퓨터에서 동일한 구성과 빌드 컨트롤러 및 빌드 에이전트 집합을 호스팅할 수 있습니다.Team Foundation Build Service 설치를 참조하십시오.

  • 빌드 컨트롤러 배포 및 구성
    빌드 컨트롤러를 사용하여 하나 이상의 빌드 에이전트를 풀링합니다. 각 빌드 서버에서 빌드 컨트롤러 하나를 호스팅할 수 있습니다.

  • 빌드 에이전트 배포 및 구성
    빌드 에이전트를 사용하여 버전 제어에서 파일 가져오기, 작업 영역 프로비전, 코드 컴파일 및 테스트 실행과 같이 프로세서를 많이 사용하는 빌드 작업을 수행합니다.

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

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

  • Team Foundation Build 사용
    빌드 시스템이 준비되면 팀에서 간단한 빌드 프로세스를 만들고(예: 연속 통합 빌드) 응용 프로그램을 자동으로 빌드 및 테스트할 수 있습니다.