Team Foundation Build의 초기 구성 정의
Team Foundation Build에서 사용되는 팀 프로젝트의 초기 빌드 권한 및 템플릿 파일을 사용자 지정할 수 있습니다. build.xml 플러그 인 파일에서는 동일한 프로세스 템플릿을 사용하여 만든 모든 팀 프로젝트의 빌드 작업에 대한 보안 권한과 업로드할 템플릿 파일을 지정합니다. 다음 템플릿 파일이 팀 프로젝트 데이터베이스에 업로드됩니다.
DefaultTemplate: 빌드 정의를 만들기 위한 템플릿을 정의합니다.
UpgradeTemplate: Visual Studio Team System 2008 Team Foundation Server 또는 Visual Studio 2005 Team Foundation Server를 사용하여 정의된 빌드 정의를 업그레이드하기 위한 템플릿을 정의합니다.
다음 표에서는 MSF(Microsoft Solutions Framework)용 프로세스 템플릿의 파일, 폴더 및 플러그 인 이름을 보여 줍니다.
파일 이름 |
Build.xml |
폴더 이름 |
Build |
플러그 인 이름 |
Microsoft.ProjectCreationWizard.Build |
참고
XML 파일과 폴더의 이름은 변경할 수 있지만 플러그 인 이름은 변경할 수 없습니다. Team Foundation Server에서는 클라이언트 쪽 플러그 인, 정책 또는 다른 수정 사항에 대한 배포 메커니즘을 제공하지 않습니다. 이러한 종류의 기능을 배포하려면 고유한 배포 및 설치 프로그램을 사용해야 합니다.
템플릿 파일은 빌드 폴더의 템플릿 폴더에 있습니다.
Build.xml 파일에서 하나 이상의 작업 및 해당 종속성을 지정합니다. MSF 플러그 인 파일에서는 두 개의 템플릿 파일을 업로드하는 하나의 작업과 Team Foundation의 특정 기본 그룹에 할당되는 권한을 지정합니다. Lab Management의 초기 보안 구성을 사용자 지정하는 방법에 대한 자세한 내용은 기능 영역에 대한 액세스 제어를 참조하십시오. task, taskXml 및 dependency 요소에 대한 자세한 내용은 플러그 인을 처리하도록 작업 정의 및 플러그 인 파일의 작업 그룹 및 작업에 대한 종속성 정의을 참조하십시오.
다음 코드는 MSF 프로세스 템플릿에 대해 정의된 기본 build.xml 파일을 나타냅니다.
<?xml version="1.0" encoding="utf-8"?>
<tasks>
<task id="BuildTask" name="Create Build Process Templates" plugin="Microsoft.ProjectCreationWizard.Build" completionMessage="Build tasks completed.">
<dependencies />
<taskXml>
<ProcessTemplate Type="Default" Filename="Build\Templates\DefaultTemplate.xaml" Description="This is the default build process template for this Team Project." ServerPath="$/$$PROJECTNAME$$/BuildProcessTemplates" />
<ProcessTemplate Type="Upgrade" Filename="Build\Templates\UpgradeTemplate.xaml" Description="This is the upgrade build process template for this Team Project." ServerPath="$/$$PROJECTNAME$$/BuildProcessTemplates" />
<Permission allow="ViewBuildDefinition, ViewBuilds" identity="[$$PROJECTNAME$$]\@@Readers@@" />
<Permission allow="ViewBuildDefinition, QueueBuilds, ViewBuilds, EditBuildQuality" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
<Permission allow="ViewBuildDefinition, EditBuildDefinition, DeleteBuildDefinition, QueueBuilds, ManageBuildQueue, StopBuilds, ViewBuilds, EditBuildQuality, RetainIndefinitely, DeleteBuilds, ManageBuildQualities, DestroyBuilds" identity="[$$PROJECTNAME$$]\@@Builders@@" />
<Permission allow="ViewBuildDefinition, EditBuildDefinition, DeleteBuildDefinition, QueueBuilds, ManageBuildQueue, StopBuilds, ViewBuilds, EditBuildQuality, RetainIndefinitely, DeleteBuilds, ManageBuildQualities, DestroyBuilds" identity="[$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$" />
<Permission allow="ViewBuildDefinition, EditBuildDefinition, DeleteBuildDefinition, QueueBuilds, ManageBuildQueue, StopBuilds, ViewBuilds, EditBuildQuality, RetainIndefinitely, DeleteBuilds, ManageBuildQualities, DestroyBuilds, OverrideBuildCheckInValidation" identity="$$COLLECTIONADMINGROUP$$" />
</taskXml>
</task>
</tasks>