Share via


변경 내용의 유효성을 검사하는 제어된 체크 인 빌드 정의

빌드에 손상을 주는 변경 사항을 개발자가 체크 인하면 소규모 팀의 경우 상당한 혼란을 겪을 수 있으며, 규모가 큰 팀의 경우에는 생산성 저하 및 일정 지연을 초래하는 높은 비용을 감수해야 할 수도 있습니다.

이러한 문제로부터 코드베이스 일부 또는 전부를 보호하려면 제어된 체크 인 빌드 정의를 만들면 됩니다.

항목 내용

  • 제어된 체크 인 빌드가 팀에 미치는 영향

  • 제어된 체크 인 빌드 정의

  • 프로세스 탭의 설정에 대한 지침

  • 제어된 체크 인 빌드의 실행 방식

    • 제어된 체크 인 빌드 자동 실행

    • 제어된 체크 인 빌드 및 개인 빌드 수동 실행

제어된 체크 인 빌드가 팀에 미치는 영향

제어된 체크 인 빌드가 만들어지면 개발자가 제출하는 변경 내용은 보류 집합에 저장되고 빌드 시스템에서 자동으로 빌드됩니다. 체크 인 프로세스는 이 빌드가 성공적이어야 완료될 수 있습니다. 자세한 내용은 제어된 체크 인 빌드에 의해 제어되는 보류 중인 변경 내용 체크 인을 참조하십시오.

제어된 체크 인을 우회해야 하는 사용자가 있을 경우 해당 사용자 그룹을 위해 빌드의 체크 인 유효성 검사 재정의 권한을 허용으로 설정할 수 있습니다. 자세한 내용은 Team Foundation Server 권한을 참조하십시오.

제어된 체크 인 빌드 정의

필요한 권한

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

제어된 체크 인 빌드를 정의하려면

  1. 팀 탐색기에서 팀 프로젝트를 클릭합니다.

  2. 빌드 메뉴에서 새 빌드 정의를 클릭합니다.

    새 빌드 정의 창이 나타나고 일반 탭이 표시됩니다.

  3. 빌드 정의 이름 상자에 이름을 입력합니다.

  4. 트리거 탭에서 제어된 체크 인 - 전송된 변경 내용이 성공적으로 병합 및 빌드된 경우에만 체크 인 수락을 클릭합니다.

  5. 작업 영역 탭을 클릭합니다.

    작업 폴더 테이블이 나타납니다. 이 표에서는 이 빌드 정의가 제어할 버전 제어 폴더를 빌드 에이전트의 로컬 폴더에 매핑합니다. 자세한 내용은 완료된 빌드 삭제을 참조하십시오.

    이 정의에 대해 지정한 버전 제어 폴더가 다른 제어된 체크 인 빌드 정의의 작업 영역 탭에서도 지정되어 있지 않은지 확인합니다. 지정되어 있을 경우 이러한 폴더에 파일을 체크 인하면 어느 빌드 정의를 큐에 대기시킬지 결정하라는 메시지가 나타납니다.

  6. 프로세스 탭을 클릭한 다음 체크 인이 팀에서 요구하는 특정 코드 품질 표준을 충족할 수 있도록 빌드 프로세스 매개 변수를 설정합니다.

    대규모 팀에서 생산하는 대형 코드베이스의 경우에는 코드 품질을 검사하려는 목표와 개발자를 위해 불필요한 지연을 방지하려는 목표 사이에서 균형을 유지해야 합니다. 자세한 내용은 이 항목 뒷부분의 프로세스 탭의 설정에 대한 지침을 참조하십시오.

  7. 빌드 기본값을 클릭하고 보존 정책 탭을 클릭한 후 각 탭에서 적절한 모든 설정을 적용합니다.

    자세한 내용은 기본 빌드 정의 만들기를 참조하십시오.

프로세스 탭의 설정에 대한 지침

빌드를 처리하는 데 필요한 시간을 최소화하려면 프로세스 탭에서 빌드 프로세스 매개 변수의 값을 지정할 때 다음 지침을 고려해야 합니다.

필수 노드

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

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

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

기본 노드

  • 자동화된 테스트: 코드가 특정 테스트를 통과해야 유효한 경우 테스트 실행을 설정하여 해당 테스트를 실행합니다. 테스트 실행을 설정할 때는 가장 필요한 테스트만 실행되도록 범주 또는 우선 순위별로 필터링해야 합니다. 자세한 내용은 기본 템플릿을 사용하여 빌드 정의를 참조하십시오.

  • 작업 영역 정리: 이 값을 없음(권장) 또는 출력으로 설정합니다. 그러나 작업 영역이 정리되지 않으면 일부 유형의 결함이 발견되지 않을 수도 있습니다. 자세한 내용은 기본 템플릿을 사용하여 빌드 정의를 참조하십시오.

  • 코드 분석 수행: 이 값을 사용 안 함으로 설정합니다.

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

고급 노드

  • 에이전트 설정

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

      예를 들어, 빌드가 완료될 때까지 15분을 기다려도 팀의 개발자들은 개의치 않을 수 있지만, 코드가 성공적으로 체크 인되었는지 확인할 수 있을 때까지 8시간을 기다려야 하는 상황은 받아들이지 않을 것입니다.

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

  • 저장 폴더에 출력 복사: 이 값은 True로 설정해도 시스템에서 False로 처리됩니다.

  • 실패 시 작업 항목 만들기: 이 값은 True로 설정해도 시스템에서 False로 처리됩니다.

  • 소스에 레이블 지정: 이 값을 False로 설정합니다.

빌드 프로세스 매개 변수의 값을 설정하는 방법에 대한 자세한 내용은 기본 템플릿을 사용하여 빌드 정의를 참조하십시오.

제어된 체크 인 빌드의 실행 방식

각 제어된 체크 인 빌드 정의에서는 실행 중인 빌드가 한 번에 하나만 있을 수 있습니다. 따라서 규모가 크고 작업이 활발한 팀에서는 제어된 체크 인 빌드의 대형 큐를 개발할 가능성이 높습니다. 다음의 모범 사례를 따르면 팀의 작업 진행이 중단되는 것을 방지하는 데 유용합니다.

  • 강력한 하드웨어(예: 고속 프로세서 및 고속 하드 디스크)가 있는 빌드 컴퓨터를 제어된 체크 인 빌드 정의에서 사용되는 빌드 에이전트의 전용 컴퓨터로 설정합니다.

  • 빌드 에이전트에서 체크 인되는 코드의 품질을 확인하는 데 필요한 작업만 수행하도록 빌드를 정의합니다. 자세한 내용은 이 항목 앞부분의 프로세스 탭의 설정에 대한 지침을 참조하십시오.

제어된 체크 인 빌드는 자동으로 실행되거나 수동으로 실행할 수 있습니다.

제어된 체크 인 빌드 자동 실행

다음 이벤트 중 하나가 발생할 경우 제어된 체크 인 빌드가 자동으로 실행됩니다.

  • 빌드 정의의 트리거 탭에서 제어된 체크 인 확인란이 선택된 상태로 빌드가 정의된 경우

  • 빌드 정의의 작업 영역 탭에 있는 매핑된 폴더와 교차하는 하나 이상의 변경 내용을 체크 인하려고 시도하는 경우

제어된 체크 인 빌드 및 개인 빌드 수동 실행

변경 내용을 보다 확실하게 체크 인하려는 개발자는 보류 집합의 빌드를 수동으로 큐에 대기시킬 수 있습니다. 이 방법을 사용할 때는 빌드가 성공할 경우 시스템에서 다음에 수행될 작업에 대한 두 가지 옵션 중 하나를 지정할 수 있습니다.

  • 컴퓨터에서 변경 내용 체크 인(수동으로 제어된 체크 인 빌드): 제어된 체크 인 트리거를 사용하지 않는 팀에서 작업하는 개발자가 체크 인 전에 코드의 유효성을 검사하려고 하는 경우에 이 옵션을 사용하면 편리합니다.

  • 컴퓨터에서 변경 내용 체크 인 안 함(개인 빌드): 보류 집합에 있는 일부 변경 내용의 유효성만 검사하고 변경 내용을 체크 인하지 않으려는 개발자는 이 옵션을 사용할 수 있습니다.

자세한 내용은 큐에 빌드 대기시키기를 참조하십시오.