다음을 통해 공유


빌드 정보 관리 및 자세한 정도 제어

업데이트: 2011년 4월

완료된 빌드에 대해 다음과 같은 종류의 정보를 얻을 수 있습니다.

  • 빌드가 어떻게 실행되었습니까? 빌드가 성공적이었습니까? 빌드가 언제 시작되었습니까? 빌드가 얼마나 오래 실행되었습니까? 이 빌드가 이전 빌드에 비해 어떻게 수행되었습니까?

  • 무엇이 빌드되었습니까? 어떤 솔루션, 변경 집합 및 버그 수정 내용이 이 빌드에 포함되었습니까?

  • 무엇이 잘못되었습니까? 어떤 경고나 오류가 발생했습니까? 어떤 테스트가 실패했습니까?

빌드 프로세스를 정의할 때 완료된 각 빌드에 대해 저장된 정보의 자세한 정도를 체계적으로 제어할 수 있습니다. 또는 수동으로 빌드를 큐에 대기시킬 때 빌드의 단일 실행에 대해 이 자세한 정도를 제어할 수 있습니다.

항목 내용

  • 빌드 정보가 생성되고 이동하는 방식

    • 빌드 프로세스 정의

    • 빌드 프로세스가 큐에 대기되고 실행됨

    • 빌드 정보가 생성되고 필터링되고 저장됨

    • 빌드 정보 검색

  • 로깅의 자세한 정도에 대한 빌드 프로세스 매개 변수 설정

  • 최선의 방법: 자세한 정도를 가능한 한 낮게 설정

    • 빌드를 실행할 때 최소 자세한 정도 사용

    • 사용자 지정 빌드 프로세스 템플릿을 설계할 때 최소 자세한 정도 사용

  • 자세한 내용

빌드 정보가 생성되고 이동하는 방식

빌드 정보 및 자세한 정도의 흐름

빌드 프로세스 정의

1단계 빌드 프로세스를 개발할 때 정보의 자세한 정도를 체계적으로 제어할 수 있습니다. DefaultTemplate.xaml 또는 UpgradeTemplate.xaml을 기반으로 하는 빌드 정의를 만들거나 편집할 때 프로세스 탭을 표시합니다. 기본 노드의 로깅의 자세한 정도 목록에서 값을 선택하여 이 빌드 프로세스 매개 변수를 지정할 수 있습니다.

기본 제공 템플릿이 요구 사항을 충족하지 않는 경우 사용자 지정 빌드 프로세스 템플릿을 개발할 수 있습니다. 이러한 종류의 템플릿을 만들 때는 빌드 정보를 신중하게 써야 합니다. 자세한 내용은 사용자 지정 빌드 프로세스 템플릿에서 빌드의 자세한 정도 관리를 참조하십시오.

빌드 프로세스가 큐에 대기되고 실행됨

2단계 DefaultTemplate.xaml 또는 UpgradeTemplate.xaml을 기반으로 하는 빌드 정의를 큐에 대기시킬 때 로깅의 자세한 정도 설정을 수동으로 재정의할 수 있습니다. 빌드 큐 대기 대화 상자에서 매개 변수 탭을 표시하고 기본 노드를 확장한 다음 로깅의 자세한 정도 목록에서 값을 선택하여 이 빌드 프로세스 매개 변수를 지정합니다. 이 값은 빌드의 단일 실행에 적용됩니다.

빌드 정보가 생성되고 필터링되고 저장됨

3단계 빌드 시스템에서 자세한 정도 빌드 프로세스 매개 변수의 값을 Verbosity에 전달합니다. 이 속성은 다음 소스에서 Information을 통해 데이터 웨어하우스에 기록되고 저장되는 빌드 정보를 필터링하는 데 사용됩니다.

  • 워크플로 활동: 몇 가지 워크플로 활동은 작업이 성공하면 메시지를 생성하고 작업이 실패하면 경고나 오류를 생성합니다. 예를 들어 SyncWorkspace 활동은 소스 코드와 기타 파일을 서버에서 빌드 에이전트로 다운로드할 때 중요도가 낮은 메시지를 생성하고, 파일 다운로드에 실패할 때 오류를 생성합니다. 또 다른 예로, OpenWorkItem 활동은 작업 항목 만들기에 실패할 때 경고를 생성합니다.

    다른 워크플로 활동을 사용하여 사용자 고유의 빌드 정보를 직접 쓸 수 있습니다. 자세한 내용은 최소로 필요한 자세한 정도로 정보를 쓰는 사용자 지정 빌드 프로세스 템플릿 설계를 참조하십시오.

  • MSBuild : 빌드 프로세스는 MSBuild 활동을 통해 MSBuild를 활용하여 이진 파일을 컴파일하고 다른 필수 작업을 수행합니다. 이 활동의 자세한 정도 속성은 이 프로세스에서 생성하고 다음 위치에 게시하는 정보의 자세한 정도를 제어합니다.

    • 데이터 웨어하우스에 컴파일 결과, 오류 및 경고가 저장됩니다.

    • 저장 폴더의 로그에 MSBuild에서 생성하는 다른 모든 메시지와 함께 데이터 웨어하우스와 동일한 정보가 저장됩니다.

  • MSTest: 빌드 프로세스는 MSTest 활동을 통해 MSTest.exe를 활용하여 테스트를 실행합니다. 이 프로세스에서 생성하는 모든 메시지는 높음이라는 중요도 값으로 분류되고 데이터 웨어하우스와 저장 폴더의 로그에 게시됩니다.

빌드 정보 검색

4단계 빌드가 실행 중일 때와 완료된 후에 빌드 결과 창에서 요약과 자세한 정보를 검색할 수 있습니다. 빌드 결과 창에서 이 정보를 클립보드에 복사할 수 있습니다. 또한 저장 폴더에 직접 연결하여 로그, 이진 파일 및 기타 데이터를 검색할 수도 있습니다.

로깅의 자세한 정도 빌드 프로세스 매개 변수

DefaultTemplate.xaml 또는 UpgradeTemplate.xaml을 기반으로 하는 빌드 프로세스에서는 로깅의 자세한 정도 빌드 프로세스 매개 변수를 사용하여 기록되고 저장되는 정보의 자세한 정도를 관리할 수 있습니다.

다음 표에서는 로깅의 자세한 정도 값과 해당 효과를 보여 줍니다.

오류

경고

중요도가 높은 빌드 메시지

중요도가 보통인 메시지

중요도가 낮은 메시지

워크플로 활동 속성(입력 및 출력)

Minimal

Y

N

N

N

N

N

보통

Y

Y

Y

N

N

N

자세히

Y

Y

Y

Y

N

N

진단(일반적으로 빌드 프로세스 디버깅에만 사용해야 함)

Y

Y

Y

Y

Y

Y

최선의 방법: 자세한 정도를 가능한 한 낮게 설정

빌드 정보가 중요하긴 하지만 너무 많은 정보를 기록하는 빌드 프로세스는 문제를 일으킬 수 있습니다. 이러한 문제에는 데이터 웨어하우스에서 너무 많은 저장소 공간을 사용하여 Visual Studio 성능을 저하시키고 팀 멤버가 처리할 수 있는 것보다 많은 정보로 부담을 주는 문제가 포함될 수 있습니다.

빌드를 실행할 때 최소 자세한 정도 사용

빌드를 실행하는 경우 일반적으로 목표를 달성하는 데 필요한 정보를 제공하는 가장 낮은 자세한 정도 설정을 사용하는 최선의 방법을 따라야 합니다.

예를 들어 빌드를 실행하여 최신 코드 변경 내용이 포함된 이진 파일을 생성할 수 있습니다. 대부분의 경우 보통 자세한 정도면 충분합니다. 그러나 빌드 프로세스 버그 또는 비정상적인 코드 컴파일 실패 문제를 해결하는 경우 자세히 또는 진단 자세한 정도를 사용해야 할 수 있습니다.

사용자 지정 빌드 프로세스 템플릿을 설계할 때 최소 자세한 정도 사용

빌드 프로세스의 사용자는 자세한 정도 필터링을 사용하여 정보 오버로드를 줄입니다. 다음 방법을 사용하여 이 필터링을 보다 효과적으로 만들 수 있습니다.

  • WriteBuildMessage 활동, WriteBuildWarning 활동 또는 WriteBuildError 활동 중에서 가장 적절한 활동을 선택하여 메시지를 씁니다.

  • WriteBuildMessage 활동 활동을 사용하여 정보를 기록하는 경우 중요도 속성을 설정할 때 계획적이고 일관성 있는 방법을 적용합니다. 메시지에 더 높은 중요도 값을 사용하는 경우에는 저장되고 팀 멤버에게 표시되는 데이터의 양이 늘어날 수 있다는 점을 명심해야 합니다.

참고

위와 같은 결정의 영향은 DoWhile, ForEach<T> 또는 While과 같은 루프 구조 안에서 이러한 활동을 사용하는 경우 특히 클 수 있습니다.

자세한 내용

Team Foundation Build 작업에서는 이 항목에서 설명하는 빌드 프로세스 워크플로 활동에 대해 설명합니다.

기본 템플릿을 사용하여 빌드 정의업그레이드 템플릿을 사용하여 빌드 정의에서는 빌드 정의를 만드는 방법에 대한 지침을 제공합니다.

빌드 결과 창 보기에서는 빌드 결과 창을 사용하는 방법에 대한 지침을 제공합니다.

IBuildDetail, BuildMessageImportanceBuildVerbosity에서는 빌드 정보 기능을 제공하는 Team Foundation Build API의 주요 요소에 대해 설명합니다.

MSBuild 명령줄 참조에서는 MSBuild에 대해 설명합니다.

빌드 트리거 및 이유 지정큐에 빌드 대기시키기에서는 자동 및 수동으로 빌드를 큐에 대기시키는 방법에 대해 설명합니다.

변경 기록

날짜

변경 내용

이유

2011년 4월

항목이 추가되었습니다.

향상된 기능 관련 정보