빌드 프로세스 템플릿 사용자 지정
빌드 프로세스에서 기본 템플릿보다 더 많은 작업을 해야 하는 경우 빌드 프로세스 템플릿을 사용자 지정하여 자신의 WWF(Windows Workflow Foundation) 명령을 따를 수 있습니다. 명령에서 CodeActivity 개체에 구현된 .NET Framework 코드를 실행할 수 있습니다. 타사가 제공하거나, 필요에 따라 자신이 빌드한 TFBuild(Team Foundation Build)에 빌드된 작업을 실행할 수 있습니다.
팁
Windows 일괄 처리 파일이나 PowerShell 스크립트에 사용자 지정 빌드 프로세스 기능을 코딩할 수 있는 경우 스크립트를 업로드하여 빌드 프로세스의 일부로 실행할 수 있습니다.이 방법은 사용자 지정 빌드 프로세스를 만드는 것보다 빠르고 간편할 수 있습니다.빌드 프로세스에서 스크립트 실행을 참조하세요.
사용자 지정 빌드 프로세스 솔루션 시작 및 템플릿 만들기
빌드 정의에서 사용자 지정 템플릿 사용
일반적인 질문에 대한 답변 얻기
사용자 지정 빌드 프로세스 솔루션 시작 및 템플릿 만들기
명령을 구현하기 전에 Team Foundation 서버에서 기본 템플릿 사본을 추출하여 Visual Basic 코드 프로젝트에 추가합니다.
중요
Git 팀 프로젝트에 참여 중입니까?빌드 프로세스 작업 이진 파일을 업로드할 계획이 있습니까?그럴 경우, 이진 파일을 저장하면(특히 큰 파일에 수정 내용이 많은 경우) Git 리포지토리의 크기가 매우 커질 수 있습니다.사용자 지정 빌드 프로세스 이진 파일을 앱을 빌드하는 코드와 다른 리포지토리에 저장하는 것이 좋습니다.빌드 프로세스를 위해 별도의 팀 프로젝트를 만들거나기존 팀 프로젝트에 추가 리포지토리를 만들 수 있습니다.
빌드 프로세스 소스를 저장하려는 팀 프로젝트(적절할 경우,
Git 리포지토리)에 연결합니다(키보드: Ctrl + 0, C).
새 코드 프로젝트를 만듭니다(키보드: Ctrl + Shift + N).
구체적으로, 새 Visual Basic 워크플로 작업 라이브러리 코드 프로젝트(예: 템플릿)가 포함된 새 솔루션(예: BuildProcessSource)을 만듭니다. 이해하기 쉬운 위치의 버전 제어 아래 새 디렉터리에 솔루션을 추가합니다.
TFVC 예: C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\
Git 예: C:\Users\YourName\Source\Repos\BuildProcesses\
내 템플릿을 편집하는 데 코드 프로젝트가 필요한 이유는 무엇입니까?
빌드 페이지(키보드: Ctrl + 0, B)에서 빌드 정의를 만들거나 편집합니다.
기본 템플릿의 복사본을 다운로드합니다. 이 절차의 앞 부분에서 만든 코드 프로젝트가 들어 있는 폴더와 동일한 폴더에 새 템플릿을 저장합니다.
TFVC 예: C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Templates
Git 예: C:\Users\YourName\Source\Repos\BuildProcesses\BuildProcessSource\Templates
솔루션 탐색기에서(키보드: Ctrl + Alt + L) 템플릿 프로젝트에 템플릿을 추가합니다.
Activity1.xaml 파일이 필요하지 않으므로 필요할 경우 삭제할 수 있습니다.
템플릿의 빌드 작업 속성을 콘텐츠로 설정합니다.
템플릿 코드 프로젝트에 다음 참조를 추가합니다.
코드 프로젝트에 이러한 참조를 추가하려면 어떻게 해야 합니까?
코드 프로젝트를 저장합니다.
체크 인하고 템플릿을 실행한 후 올바르게 작동하는지 확인할 수 있도록 “Hello World!” 메시지를 구현합니다. 이렇게 하려면 WriteBuildMessage 작업을 워크플로로 끌어 놓고 BuildMessageImportance 속성을 Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High로 설정합니다.
템플릿을 저장하고 새 솔루션을 업로드합니다.
TFVC(키보드: Ctrl + 0, P)에 있는 경우 보류 중인 변경 내용을 체크 인하거나
Git에 있는 경우 커밋(키보드: Ctrl + 0, G) 후 푸시합니다.
빌드 정의에서 사용자 지정 템플릿 사용
위에서 설명한 대로 사용자 지정 빌드 프로세스 템플릿을 팀 프로젝트에 업로드한 이후 빌드 정의의 템플릿을 사용할 수 있습니다.
빌드 페이지(키보드: Ctrl + 0, B)에서 빌드 정의를 만들거나 편집합니다.
빌드 정의 프로세스 탭에서
자세한 정보 표시를 선택하고 새로 만들기를 선택합니다.
새로 만들기를 선택한 이후
TFVC: Team Foundation Server의 템플릿의 경로를 입력하거나 탐색합니다.
Git: 개발 컴퓨터의 템플릿의 경로를 입력하거나 탐색합니다.
템플릿에 대한 경로를 지정한 후 목록에서 선택할 수 있습니다.
새 빌드 정의를 만드는 경우 빌드하는 솔루션을 선택하고 스테이징 위치 및 필요한 다른 옵션을 지정합니다. 빌드 정의 만들기 또는 편집을 참조하세요. 작업을 마치면 빌드 정의를 저장합니다.
빌드 페이지에서(키보드: Ctrl + 0, B) 빌드를 큐에 대기시킵니다.
빌드가 완료된 후 결과를 확인하여 사용자 지정된 워크플로가 정상적으로 실행되는지 확인합니다.
Q & A
Q: 권한이 없기 때문에 시스템에 의해 차단되었습니다.어떻게 하면 권한을 얻을 수 있습니까?
A: Team Foundation Server에 대한 사용 권한 참조
Q: 내 템플릿을 편집하는 데 코드 프로젝트가 필요한 이유는 무엇입니까?
A: 다음과 같은 이유로 코드 프로젝트 내에서 템플릿을 편집해야 합니다.
코드 프로젝트의 컨텍스트 외부에서 템플릿을 편집하려고 하면 문제가 발생할 수 있습니다.
빌드 프로세스 템플릿과 같은 솔루션에서 빌드 프로세스 작업을 개발하지 않을 경우 문제가 발생할 수 있습니다. 이러한 방식으로 작업하면서 프로세스 템플릿에 있는 작업 중 하나가 필요할 경우 워크플로 디자이너 도구 상자에서 작업을 사용할 수 있습니다. 하지만 작업의 소스 코드는 빌드 프로세스 템플릿이 포함된 것과 별도의 코드 프로젝트에 보관해야 합니다. 사용자 지정 빌드 프로세스 활동 사용 및 개발을 참조하세요.
Q: TFBuild 워크플로를 사용할 때 필요한 참조를 추가하려면 어떻게 해야 합니까?
A: 참조를 추가하려면 참조 관리자를 사용합니다.
코드 프로젝트 참조를 보고 참조 관리자를 엽니다.
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0으로 탐색한 다음 다음을 선택하고 추가합니다.
Q: 여러 팀 프로젝트에서 템플릿을 공유할 수 있습니까?
A: 예. 템플릿을 둘 이상의 팀 프로젝트에 등록할 수 있습니다. 이는 해당 템플릿이 포함된 팀 프로젝트 컬렉션의 모든 팀 프로젝트 간에 빌드 프로세스를 공유할 수 있음을 의미합니다.
Q: 내 템플릿을 수정할 경우 이를 사용하는 빌드 정의에 어떤 영향을 미칩니까?
A: 템플릿을 수정해야 하는 경우 템플릿 변경을 마친 후 템플릿을 기반으로 하는 모든 빌드 정의를 검토하도록 계획해야 합니다. 이렇게 하지 않으면 빌드 정의가 제대로 실행되지 않거나 예기치 않은 방식으로 작동할 수 있습니다.
Q: 빌드 프로세스 템플릿을 삭제하면 어떻게 됩니까?
A: 빌드 프로세스 템플릿을 삭제하려는 경우 먼저 템플릿을 기반으로 하는 빌드 정의를 모두 찾아 삭제해야 합니다. 템플릿을 삭제하면 템플릿을 기반으로 하는 나머지 빌드 정의는 모두 올바르게 작동하지 않습니다.
Q: 사용자 지정 빌드 프로세스에서 오류가 발생하는 원인은 무엇입니까?
A: 일부 오류의 몇 가지 일반적 원인은 다음과 같습니다.
TF215097: 사용자 지정 활동에 필요한 특성이 없는 경우 또는 사용자 지정 작업이 포함된 같은 코드 프로젝트에서 템플릿을 편집하려는 경우 나타날 수 있습니다.
MSBuild 오류 XC1014: 템플릿의 빌드 작업을 콘텐츠로 설정하지 않을 경우 나타날 수 있습니다.
위의 오류 중 하나가 발생하는 경우 위 절차의 단계 중 하나를 놓치지 않았는지 확인합니다.
빌드 문제 진단 항목이 도움이 될 수도 있습니다.
Q: Windows Workflow Foundation이란 무엇입니까?어떻게 사용합니까?
A: Windows Workflow Foundation을 참조하세요.
Q: 환경 변수 데이터는 어떻게 얻을 수 있습니까?
Q: 기본 작업에 대해 알아보려면 어떻게 해야 합니까?
기본 작업이 내 요구 사항에 맞지 않을 경우 어떻게 해야 합니까?
Q: 템플릿, 워크플로 작업, 스크립트를 어디에서 구할 수 있습니까?
A: 커뮤니티 TFS 빌드 확장을 참조하세요.
Q: 사용자 지정 빌드 프로세스를 개발하는 방법에 대해 자세히 알아보려면 어떻게 해야 합니까?
A: 답변: Team Foundation Build 프로세스 사용자 지정을 참조하세요.