Defining 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 Controlling Access to Functional Areas. For more information about the task, taskXml, and dependency elements, see Defining the Tasks to Process a Plug-in and Defining 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>

See Also

Concepts

Controlling Access to Functional Areas

Customizing Functional Areas within a Process Template