Share via


연속 통합을 지원하는 빌드 프로세스 정의

팀에서는 가능한 자주 공유 저장소에 다양한 기능을 추가한 다음 결과를 빌드하고 테스트하여 코드베이스에서의 오류를 최소화할 수 있습니다.사용자와 팀이 기능 팀에서의 체크 인 시 빌드를 파손했거나 테스트 실패의 원인을 최대한 빨리 확인할 수 있도록 빌드 프로세스를 정의하여 연속 통합으로 알려진 이 전략을 구현할 수 있습니다.

항목 내용

  • 연속 통합을 지원하기 위한 빌드 프로세스를 정의합니다.

  • 빌드 프로세스의 기능 및 성능을 향상시키는 지침

  • 다음 단계

연속 통합을 지원하기 위한 빌드 프로세스를 정의합니다.

필요한 권한

이 절차를 수행하려면 빌드 정의 편집 권한이 허용으로 설정되어 있어야 합니다.자세한 내용은 Team Foundation Server 권한을 참조하십시오.

연속 통합을 지원하기 위한 빌드 프로세스를 정의하는 방법

  1. 팀 탐색기에서 다음을 수행합니다.

    1. 작업할 팀 프로젝트에 아직 연결되어 있지 않으면 팀 프로젝트에 연결합니다.

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

    3. 빌드 페이지에서 새 빌드 정의를 선택합니다.

    새 빌드 정의 창이 나타납니다.

  2. 트리거 탭에서 연속 통합을 선택합니다.

    팁

    개발자가 빌드를 체크 인하는 데 너무 오래 기다려야 하는 경우 대신 빌드 롤링을 선택할 수 있습니다.이 트리거로 인해 빌드 시스템에서 여러 체크 인 기능을 함께 빌드하게 됩니다.자세한 내용은 Use the Rolling builds trigger를 참조하십시오.

  3. 작업 영역 탭의 작업 폴더 테이블에서 이 빌드 정의가 모니터링해야 하는 버전 제어 폴더를 지정합니다.

    팁

    빌드 프로세스 함수를 제대로 확인하고 성능을 향상시키기 위해 빌드 프로세스에 필요한 파일을 포함하는 모든 폴더(및 해당 폴더만)를 포함해야 합니다.이러한 폴더를 지정하는 방법에 대한 자세한 내용은 빌드 작업 영역 사용를 참조하십시오.

  4. 빌드 기본값 탭에서 성능을 개선하려면 이 빌드는 저장 폴더에 출력 파일을 복사하지 않음을 선택합니다.

  5. 프로세스 탭의 빌드 프로세스 템플릿에서 기본 템플릿이 기본적으로 선택되어 있습니다.빌드할 항목 매개 변수에서 빌드할 솔루션 또는 코드 프로젝트를 지정합니다.

  6. 프로세스 탭에서 개발자를 불필요하게 지연시키지 않고 체크 인이 팀에서 요구하는 특정 코드 품질 표준을 충족할 수 있도록 빌드 프로세스 매개 변수를 설정합니다.

    자세한 내용은 이 항목 뒷부분의 빌드 프로세스 기능 및 성능 향상 지침을 참조하십시오.

  7. 다른 탭에서 빌드 프로세스 옵션을 지정합니다.자세한 내용은 빌드 정의 만들기를 참조하십시오.

빌드 프로세스의 기능 및 성능을 향상시키는 지침

빌드 프로세스에서 팀의 요구를 충족시키고 가능한 빨리 수행하도록 하려면 프로세스 탭에서 값을 지정할 때 다음 지침을 숙지해야 합니다.

필수 노드

  • 빌드할 항목, 빌드할 구성: 이 매개 변수를 빈 상태로 두면 각 솔루션 및 프로젝트에 기본 플랫폼 및 구성이 사용됩니다.성능을 최적화하려면 다음 지침을 따르십시오.

    • 플랫폼-구성 쌍의 빌드 속도가 다른 쌍의 빌드 속도보다 더 빠른 경우 이 매개 변수에 플랫폼-구성 쌍을 지정합니다.

    • 플랫폼-구성 쌍은 가능한 한 적게 지정합니다.

기본 노드

  • 작업 영역 정리: 성능 향상을 위해 이 값을 없음(권장) 또는 출력으로 설정합니다.그러나 팀은 작업 영역이 정리되지 않은 경우 일종의 결함(예: 리팩터링 동안 도입된 결함)을 놓칠 가능성이 있습니다.자세한 내용은 기본 템플릿을 기반으로 하는 빌드 프로세스 정의를 참조하십시오.

  • 코드 분석 수행: 빠른 성능을 위해 이 값을 사용 안 함으로 설정합니다.

  • 소스 및 기호 서버 설정, 소스 인덱싱: 빠른 성능을 위해 이 값을 False로 설정합니다.

고급 노드

  • 에이전트 설정

    • 이름 필터 또는 태그 필터: 이 빌드를 실행하도록 특별히 지정된 빌드 에이전트에 이 빌드 정의를 바인딩하는 데 빌드 에이전트 이름 또는 태그를 사용합니다.이 빌드 에이전트는 팀의 성능 기대치를 충족할 수 있도록 이 빌드를 빠르게 처리하는 강력한 하드웨어에서 실행되어야 합니다.

    • 최대 실행 시간: 이 값을 합리적인 수준에서 작은 숫자로 설정합니다.예를 들어 팀에게 15분은 적당하지만 8시간은 너무 길 수 있습니다.

  • 실패 시 작업 항목 만들기: 빌드 프로세스에서 빌드의 실패 원인을 체크 인하는 개발자에게 버그를 할당하려는 경우 True로 설정합니다.

  • 테스트 비활성화:

    • 빠른 성능을 위해 True를 선택하십시오.

    • 코드에서 특정 테스트를 전달해야 하는 경우 False를 선택한 다음 빌드에서 실행할 테스트 집합을 정의합니다.필요한 테스트만 실행하여 성능을 향상시킬 수 있습니다.해당 테스트를 지정하려면 범주 또는 우선 순위를 필터링합니다.자세한 내용은 빌드 프로세스에서 테스트 실행을 참조하십시오.

  • 소스에 레이블 지정: 완료된 빌드 이름을 사용하여 이 코드의 레이블을 지정하려면 True로 설정합니다.이러한 레이블은 팀에 유용할 수 있습니다.예를 들어, 레이블을 사용하여 팀에서 "마지막으로 성공한" 버전의 코드를 식별할 수 있습니다.그렇지 않은 경우 False로 설정하여 성능을 극대화합니다.

기본 템플릿 빌드 프로세스 매개 변수에 대한 자세한 내용은 기본 템플릿을 기반으로 하는 빌드 프로세스 정의을 참조하십시오.

다음 단계

버그에서 빌드를 중단하면 관련되지 않은 추가 변경 내용을 체크 인하기 전에 팀에서 먼저 해당 버그를 수정하는 것이 중요합니다.빌드 체크인 정책을 사용하여 빌드 중단이 해결될 때까지 체크인을 제한할 수 있습니다.자세한 내용은 연속 통합 빌드 중단 후 코드 변동(code churn) 최소화를 참조하십시오.

연속 통합 트리거를 사용하는 경우 중단되거나 실패한 핵심 단위 테스트를 더 빨리 빌드하는 등의 문제를 식별할 수 있습니다.그러나 제어된 체크 인 트리거를 사용하는 경우 코드베이스에 이런 종류의 문제가 도입되지 않도록 차단할 수 있습니다.자세한 내용은 변경 내용의 유효성을 검사하는 제어된 체크 인 빌드 프로세스 정의를 참조하십시오.

관련 항목

소프트웨어 프로젝트를 보다 효율적이고 안정적으로 통합하고 배포하는 방법에 대한 자세한 내용은 연속적으로 빌드 및 배포를 참조하십시오.