配置用于 Web 部署的 Team Foundation Server

作者 :Jason Lee

本教程介绍如何配置 Team Foundation Server (TFS) 2010,以生成解决方案并将 Web 内容部署到各种目标环境。 这包括持续集成 (CI) 方案,每次开发人员进行更改时都会自动部署内容。 它还包括手动触发器方案,其中管理员可能需要在测试环境中验证和验证生成后触发将特定生成部署到过渡环境。 本教程中的主题将指导你完成整个配置过程,包括:

  • 如何在 TFS 中创建新的团队项目。
  • 如何将内容添加到源代码管理。
  • 如何配置生成服务器以支持 CI 和部署。
  • 如何创建包含部署逻辑的生成定义。
  • 如何配置自动部署的权限。

有关这些教程的意大利语翻译,请访问 http://www.lucamorelli.it

本教程假定你已安装 TFS 2010,并在初始配置过程中创建了团队项目集合。 Visual Studio 2010 的 Team Foundation 安装指南提供了有关这些任务的综合指导。

上下文

这是一系列教程的一部分,该教程基于名为 Fabrikam, Inc 的虚构公司的企业部署要求。本教程系列使用示例解决方案( Contact Manager 解决方案)来表示具有实际复杂程度的 Web 应用程序,包括 ASP.NET MVC 3 应用程序、Windows Communication Foundation (WCF) 服务和数据库项目。

这些教程的核心部署方法基于 了解生成过程中所述的拆分项目文件方法,其中生成过程由两个项目文件控制-一个包含适用于每个目标环境的生成说明,另一个包含特定于环境的生成和部署设置。 在生成时,特定于环境的项目文件将合并到与环境无关的项目文件中,形成一组完整的生成指令。

方案概述

企业 Web 部署:方案概述中介绍了这些教程的高级方案。 建议在开始学习本教程之前查看本主题。

如何使用本教程

如果这是你第一次执行本教程中所述的任务,或者想要使用示例解决方案遵循示例,则应按顺序完成教程主题。 或者,可以使用单个主题作为特定任务的指南。 本教程包括以下主题:

  • 在 TFS 中创建团队项目。 团队项目是在 TFS 中进行源代码管理、进程管理和生成的核心单元。 需要先创建团队项目,然后才能将内容添加到源代码管理或创建生成定义。
  • 将内容添加到源代码管理。 创建团队项目后,可以开始将内容添加到源代码管理。 需要先添加项目和解决方案以及任何外部依赖项,然后才能开始配置生成。
  • 为 Web 部署配置 TFS 生成服务器。 如果要生成团队项目内容,则需要配置生成服务器。 在大多数情况下,这应该位于 TFS 安装的单独计算机上。 若要配置生成服务器,需要安装和配置 TFS 生成服务、安装 Visual Studio 2010、创建生成控制器和生成代理、安装代码成功生成所需的任何产品或组件,以及安装 Internet Information Services (IIS) Web 部署工具 (Web 部署) 。
  • 创建支持部署的生成定义。 在 TFS 中开始排队或触发生成之前,需要为团队项目创建至少一个生成定义。 生成定义定义生成的各个方面,包括生成中应包含哪些内容、应触发生成的内容以及团队生成应将生成输出发送到何处。 可以将生成定义配置为运行自定义Microsoft 生成引擎 (MSBuild) 项目文件,这样就可以在自动生成中包含部署逻辑。
  • 部署特定生成。 在很多情况下,需要将特定生成(而不是最新版本)部署到目标环境。 在这种情况下,可以配置从特定放置文件夹部署内容的生成定义。
  • 配置团队生成部署的权限。 如果生成服务要将内容部署为自动生成过程的一部分,则需要向任何目标 Web 服务器和数据库服务器上的生成服务帐户授予各种权限。

关键技术

本教程重点介绍如何使用这些产品和技术来支持自动生成和 Web 部署:

  • Visual Studio Team Foundation Server 2010
  • 团队生成和 MSBuild
  • Web 部署

本教程还介绍了 Windows Server 2008 R2、IIS 7.5、SQL Server 2008 R2、ASP.NET 4.0 和 ASP.NET MVC 3 的使用。

本系列中的其他教程

这是有关企业级 Web 部署的五个教程系列教程的一部分。 以下是本系列中的其他教程:

  • 在企业方案中部署 Web 应用程序。 此介绍性内容提供了教程系列的上下文背景。 本文介绍了教程方案,并说明了本系列中所述的任务和演练如何适应更广泛的应用程序生命周期管理 (ALM) 过程。
  • 企业中的 Web 部署。 本教程对 MSBuild 项目文件、Web 发布管道 (WPP) 、Web 部署和其他相关技术进行了概念性介绍。 它介绍了如何结合使用这些工具来管理复杂的部署过程。
  • 为 Web 部署配置服务器环境。 本教程介绍如何配置 Windows 服务器以支持各种部署方案,包括使用 Web 部署代理服务 (远程代理) 或 Web 部署处理程序和远程数据库部署的远程 Web 包部署。 它提供有关为自己的环境选择适当的部署方法的指南,并介绍了如何使用 Web 场框架 (WFF) 跨服务器场中的所有 Web 服务器复制已部署的 Web 应用程序。
  • 高级企业 Web 部署。 本教程介绍如何完成各种更高级的部署任务,例如为多个环境自定义数据库部署、从部署中排除文件和文件夹,以及使 Web 应用程序在部署过程中脱机。