Share via


빌드 프로세스 템플릿 사용자 지정

빌드 프로세스에서 기본 템플릿보다 더 많은 작업을 해야 하는 경우 빌드 프로세스 템플릿을 사용자 지정하여 자신의 WWF(Windows Workflow Foundation) 명령을 따를 수 있습니다. 명령에서 CodeActivity 개체에 구현된 .NET Framework 코드를 실행할 수 있습니다. 타사가 제공하거나, 필요에 따라 자신이 빌드한 TFBuild(Team Foundation Build)에 빌드된 작업을 실행할 수 있습니다.

Windows 일괄 처리 파일이나 PowerShell 스크립트에 사용자 지정 빌드 프로세스 기능을 코딩할 수 있는 경우 스크립트를 업로드하여 빌드 프로세스의 일부로 실행할 수 있습니다.이 방법은 사용자 지정 빌드 프로세스를 만드는 것보다 빠르고 간편할 수 있습니다.빌드 프로세스에서 스크립트 실행을 참조하세요.

  • 사용자 지정 빌드 프로세스 솔루션 시작 및 템플릿 만들기

  • 빌드 정의에서 사용자 지정 템플릿 사용

  • 일반적인 질문에 대한 답변 얻기

사용자 지정 빌드 프로세스 솔루션 시작 및 템플릿 만들기

명령을 구현하기 전에 Team Foundation 서버에서 기본 템플릿 사본을 추출하여 Visual Basic 코드 프로젝트에 추가합니다.

중요

Git 아이콘Git 팀 프로젝트에 참여 중입니까?빌드 프로세스 작업 이진 파일을 업로드할 계획이 있습니까?그럴 경우, 이진 파일을 저장하면(특히 큰 파일에 수정 내용이 많은 경우) Git 리포지토리의 크기가 매우 커질 수 있습니다.사용자 지정 빌드 프로세스 이진 파일을 앱을 빌드하는 코드와 다른 리포지토리에 저장하는 것이 좋습니다.빌드 프로세스를 위해 별도의 팀 프로젝트를 만들거나기존 팀 프로젝트에 추가 리포지토리를 만들 수 있습니다.

  1. 빌드 프로세스 소스를 저장하려는 팀 프로젝트(적절할 경우, Git 아이콘 Git 리포지토리)에 연결합니다(키보드: Ctrl + 0, C).

  2. 새 코드 프로젝트를 만듭니다(키보드: Ctrl + Shift + N).

    구체적으로, 새 Visual Basic 워크플로 작업 라이브러리 코드 프로젝트(예: 템플릿)가 포함된 새 솔루션(예: BuildProcessSource)을 만듭니다. 이해하기 쉬운 위치의 버전 제어 아래 새 디렉터리에 솔루션을 추가합니다.

    TFVC 아이콘 TFVC 예: C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\

    Git 아이콘 Git 예: C:\Users\YourName\Source\Repos\BuildProcesses\

    새 템플릿을 포함하도록 코드 프로젝트를 만듭니다.

    내 템플릿을 편집하는 데 코드 프로젝트가 필요한 이유는 무엇입니까?

  3. 빌드 페이지(키보드: Ctrl + 0, B)에서 빌드 정의를 만들거나 편집합니다.

    새 빌드 정의 또는 빌드 정의 편집

  4. 기본 템플릿의 복사본을 다운로드합니다. 이 절차의 앞 부분에서 만든 코드 프로젝트가 들어 있는 폴더와 동일한 폴더에 새 템플릿을 저장합니다.

    TFVC 아이콘 TFVC 예: C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Templates

    Git 아이콘 Git 예: C:\Users\YourName\Source\Repos\BuildProcesses\BuildProcessSource\Templates

    빌드 정의 프로세스 탭의 다운로드 링크

    다른 이름으로 저장 대화 상자

  5. 솔루션 탐색기에서(키보드: Ctrl + Alt + L) 템플릿 프로젝트에 템플릿을 추가합니다.

    프로젝트에 빌드 프로세스 템플릿 파일 추가

    기존 항목 추가 대화 상자

    Activity1.xaml 파일이 필요하지 않으므로 필요할 경우 삭제할 수 있습니다.

  6. 템플릿의 빌드 작업 속성을 콘텐츠로 설정합니다.

    빌드 작업을 콘텐츠로 설정

  7. 템플릿 코드 프로젝트에 다음 참조를 추가합니다.

    코드 프로젝트에 이러한 참조를 추가하려면 어떻게 해야 합니까?

    코드 프로젝트를 저장합니다.

  8. 체크 인하고 템플릿을 실행한 후 올바르게 작동하는지 확인할 수 있도록 “Hello World!” 메시지를 구현합니다. 이렇게 하려면 WriteBuildMessage 작업을 워크플로로 끌어 놓고 BuildMessageImportance 속성을 Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High로 설정합니다.

    템플릿에 추가된 WriteBuildMessage 활동

  9. 템플릿을 저장하고 새 솔루션을 업로드합니다. TFVC 아이콘 TFVC(키보드: Ctrl + 0, P)에 있는 경우 보류 중인 변경 내용을 체크 인하거나 Git 아이콘 Git에 있는 경우 커밋(키보드: Ctrl + 0, G) 후 푸시합니다.

    TFVC 또는 Git를 사용하여 변경 내용 업로드

빌드 정의에서 사용자 지정 템플릿 사용

위에서 설명한 대로 사용자 지정 빌드 프로세스 템플릿을 팀 프로젝트에 업로드한 이후 빌드 정의의 템플릿을 사용할 수 있습니다.

  1. 빌드 페이지(키보드: Ctrl + 0, B)에서 빌드 정의를 만들거나 편집합니다.

  2. 빌드 정의 프로세스 탭에서 자세한 정보 표시 자세한 정보 표시를 선택하고 새로 만들기를 선택합니다.

    빌드 정의, 프로세스 탭, 새로 만들기 단추

  3. 새로 만들기를 선택한 이후

    • TFVC: Team Foundation Server의 템플릿의 경로를 입력하거나 탐색합니다.

    • Git: 개발 컴퓨터의 템플릿의 경로를 입력하거나 탐색합니다.

  4. 템플릿에 대한 경로를 지정한 후 목록에서 선택할 수 있습니다.

    빌드 정의에서 CustomTemplate이 선택되었습니다.

  5. 새 빌드 정의를 만드는 경우 빌드하는 솔루션을 선택하고 스테이징 위치 및 필요한 다른 옵션을 지정합니다. 빌드 정의 만들기 또는 편집을 참조하세요. 작업을 마치면 빌드 정의를 저장합니다.

  6. 빌드 페이지에서(키보드: Ctrl + 0, B) 빌드를 큐에 대기시킵니다.

    빌드 페이지에서 빌드를 큐에 저장

  7. 빌드가 완료된 후 결과를 확인하여 사용자 지정된 워크플로가 정상적으로 실행되는지 확인합니다.

    빌드 로그에 "Hello World" 메시지가 표시됩니다.

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: 환경 변수 데이터는 어떻게 얻을 수 있습니까?

A: 사용자 지정 빌드 프로세스의 환경 데이터 사용

Q: 기본 작업에 대해 알아보려면 어떻게 해야 합니까?

A: Team Foundation 빌드 활동

기본 작업이 내 요구 사항에 맞지 않을 경우 어떻게 해야 합니까?

A: 사용자 지정 빌드 프로세스 작업을 개발합니다.

Q: 템플릿, 워크플로 작업, 스크립트를 어디에서 구할 수 있습니까?

A: 커뮤니티 TFS 빌드 확장을 참조하세요.

Q: 사용자 지정 빌드 프로세스를 개발하는 방법에 대해 자세히 알아보려면 어떻게 해야 합니까?

A: 답변: Team Foundation Build 프로세스 사용자 지정을 참조하세요.