Define the Initial Configuration of Team Foundation Build
You can customize a team project's initial build permissions and template files that are used by Team Foundation Build. The build.xml plug-in file specifies the security permissions for build activities of all team projects that are created with the same process template and the template files to be uploaded. The following template files are uploaded to the team project database:
DefaultTemplate. Defines the template for creating build definitions.
UpgradeTemplate. Defines the template for upgrading build definitions that were defined by using Visual Studio Team System 2008 Team Foundation Server or Visual Studio 2005 Team Foundation Server.
The following table summarizes the names of the file, the folder, and the plug-in for the process templates for Microsoft Solutions Framework (MSF).
File name: |
Build.xml |
Folder name: |
Build |
Plug-in name: |
Microsoft.ProjectCreationWizard.Build |
Note
You can change the names of the XML file and the folder but not of the plug-in. Team Foundation Server does not include a mechanism for the deployment of client-side plug-ins, policies, or other modifications. If you want to deploy this kind of functionality, you must use your own distribution and installation program.
The template files are located in the Templates folder of the Build folder.
In the Build.xml file, you specify one or more tasks and their dependencies. The MSF plug-in file specifies one task, which uploads the two template files, and the permissions that are assigned to specific default groups for Team Foundation. For information about how to customize the initial security configuration for Lab Management, see Control Access to Functional Areas. For more information about the task, taskXml, and dependency elements, see Define the Tasks to Process a Plug-in and Define Dependencies for Task Groups and Tasks in Plug-in Files.
The following code represents the default build.xml file that is defined for the MSF process templates:
<?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>