다음을 통해 공유


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

빌드에 손상을 주는 변경 사항을 개발자가 체크 인하면 소규모 팀의 경우 상당한 혼란을 겪을 수 있으며,규모가 큰 팀의 경우에는 생산성 저하 및 일정 지연을 초래하는 높은 비용을 감수해야 할 수도 있습니다.이러한 문제로부터 코드베이스 일부 또는 전부를 보호하려면 제어된 체크 인 빌드 정의를 만들면 됩니다.

항목 내용

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

  • 제어된 체크 인 빌드 프로세스 정의

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

  • 팀 차단 방지

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

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

팀에서 제어된 체크 인 빌드 프로세스를 원위치에 만들면 개발자가 제출하는 변경 내용은 보류 집합에 저장되고 자동으로 빌드되며 빌드 시스템에 의해 테스트될 수 있습니다.

제어된 체크 인 대화 상자

체크 인 프로세스는 이 빌드가 성공적이어야 완료될 수 있습니다.자세한 내용은 제어된 체크 인 빌드에 의해 제어되는 보류 중인 변경 내용 체크 인을 참조하십시오.

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

제어된 체크 인 빌드 프로세스 정의

필요한 권한

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

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

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

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

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

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

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

  2. 트리거 탭:

    • 제어된 체크 인을 선택합니다.

    • (선택적 요소) 빌드 프로세스의 효율성을 증가시키려면 n개의 제출 병합 및 빌드를 선택합니다. 자세한 내용은 팀 중단 방지를 참조하십시오.

  3. 작업 영역 탭의 작업 폴더 표에서 이 빌드 정의가 제어할 버전 제어 폴더를 빌드 에이전트의 로컬 폴더에 매핑합니다.

    팁

    다음 지침을 따릅니다.

    • 빌드 프로세스 함수를 제대로 확인하고 성능을 향상시키기 위해 빌드 프로세스에 필요한 파일을 포함하는 모든 폴더와 해당 폴더만을 포함해야 합니다.

    • 다른 제어된 체크 인 빌드 정의의 작업 영역 탭에도 지정된 버전 제어 폴더를 지정하지 않았는지 확인합니다.그렇지 않으면 사용자가 이러한 폴더에 파일을 체크 인할 경우 어느 빌드 정의를 큐에 대기시킬지 결정하라는 메시지가 나타납니다.

    • 매핑을 지정하는 방법에 대한 자세한 내용은 빌드 작업 영역 사용를 참조하십시오.

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

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

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

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

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

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

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

필수 노드

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

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

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

기본 노드

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

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

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

고급 노드

  • 에이전트 설정

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

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

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

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

  • 테스트 비활성화:

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

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

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

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

팀 차단 방지

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

  • 트리거 탭에서 빌드 프로세스의 효율성을 늘리려면 최대 n개의 제출 병합 및 빌드 옵션을 선택하고 지정된 배치에서 함께 빌드하려는 최대 체크 인 수를 지정합니다.일반적으로 이 옵션을 사용할 경우 많은 중단의 위험이 없습니다.각 체크 인은 개별적으로 커밋되거나 거부됩니다.

    예를 들어, 일괄 처리에서 함께 빌드된 세가지 체크인이 빌드에 성공하지 못했다면, 시스템은 세 체크인의 개별 빌드 큐를 만듭니다.

    그러나, 이 옵션을 사용하면 체크 인에 대한 몇 가지 위험 요소때문에 다른 사람이 중단되지 않도록 할 수 있습니다.예를 들어, 여러 체크 인이 같은 파일을 수정하고 버전 제어 충돌이 발생하는 경우 발생할 수 있습니다.이 경우 이전 체크 인은 커밋되고 이후의 체크 인은 거부됩니다.

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

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

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

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

  • 컴퓨터에서 변경 내용 체크 인(수동으로 제어된 체크 인 빌드): 제어된 체크 인이 필요하지 않지만 개발자가 체크 인 전에 코드의 유효성을 자발적으로 검사할 수 있도록 하는 팀에서 이 옵션을 사용하면 편리합니다.

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

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