如何:使用 Team Foundation Build 部署更改
更新:2010 年 7 月
可以使用 MSBuild 或 Team Foundation Build 在 Visual Studio 中生成和部署数据库。 如果要在生成实验室环境中生成和部署数据库项目,则使用 Team Foundation Build。 若要使用 Team Foundation Build,必须有一台已安装此软件的计算机。 有关更多信息,请参见 生成应用程序。
通常,您将使用 Team Foundation Build 仅部署到开发、测试或临时服务器,而不部署到生产或预生产环境。
使用 Team Foundation Build 部署更改的过程如下:
定义可使用 VSDBCMD.EXE 部署数据库的自定义工作流
创建生成定义。
使用新的生成定义部署数据库项目。
Visual Studio 2010 中的 Team Foundation Build 使用 Windows Workflow 4.0 安排生成过程。 若要使用 Team Foundation Build 部署数据库,则必须创建一个自定义工作流。 如果您的生成成功并且测试通过或者没有任何测试,则该工作流将部署生成的输出。 有关更多信息,请参见演练:定义自定义的工作流以从 Team Foundation Build 部署数据库。
另外,在您可以使用 Team Foundation Build 部署更改之前,还必须执行以下操作:
有一个带属性集的数据库项目。
将数据库项目签入版本控制中。
创建生成定义
创建生成定义
在团队资源管理器中,单击团队项目,右击**“生成”节点,然后单击“新建生成定义”**。
此时将出现**“新建生成定义”**窗口。
在**“生成定义名称”**中,键入要用于生成定义的名称。
在类别列表中,单击**“触发器”**,并指定将更改签入数据库项目文件中时要采取的操作。
有关更多信息,请参见创建基本生成定义。
在类别列表中,单击**“工作区”**并指定要包括在此生成中的源代码管理文件夹。
重要事项 必须将指定文件夹中的所有文件都复制到每个生成的生成服务器中。 仅包含此数据库项目或解决方案所需的文件夹。 如果您选择“持续集成”、“滚动生成”或“封闭签入”生成触发器,则在签入包含在指定文件夹中的文件时,可能会触发一个生成。 如果您指定了版本控制服务器的根文件夹,则将同步所有文件,并且所有签入都可能会触发一个生成。 此设置会对生成性能产生重大影响。
在类别列表中,单击**“生成默认值”**。
在**“将生成输出复制到以下放置文件夹(UNC 路径,如 \\server\share)”**中,指定包含生成输出的文件夹。
可以在本地计算机上或生成进程将具有权限的任何网络位置上指定共享文件夹。
在类别列表中,单击**“进程”**。
在**“生成过程模板”中,单击“显示详细信息”**。
在**“生成过程文件(Windows 工作流 XAML)”**中,单击您创建的用于部署数据库项目的生成过程文件。 有关如何创建该自定义工作流的更多信息,请参见演练:定义自定义的工作流以从 Team Foundation Build 部署数据库。
重要事项 您必须使用一个自定义工作流才能直接使用 Team Foundation Build 部署数据库。 您还可以在运行数据库单元测试时间接部署数据库。 有关更多信息,请参见如何:从 Team Foundation Build 中运行数据库单元测试。
在**“生成过程参数”列表中,单击“要生成的项”**属性,然后单击浏览 (…) 按钮,以指定要生成的数据库项目或解决方案的版本控制路径。
(可选)在类别列表中,单击**“保留策略”**以指定应如何保留生成。
提示
有关如何创建生成定义的更多信息,请参见创建基本生成定义。
在**“文件”菜单上,单击“保存项目名称”**。
您已经创建了生成定义,将在后续步骤中运行该生成定义以部署数据库项目。
部署数据库
您现在已经配置了生成定义,并设置了要在 Team Foundation Build 中使用的数据库项目。 接下来可以执行一个测试生成来验证数据库是否已成功部署。
部署数据库
在团队资源管理器中,展开**“Builds”文件夹,右击创建的用于部署数据库项目的生成定义,然后单击“使新生成入队”**。
即会出现**“为生成排队”**对话框。
确认**“生成定义”、“生成控制器”和“该生成的放置文件夹”字段中的值均正确,然后单击“队列”**。
在**“生成资源管理器”中,显示“已排队”**选项卡。 有关更多信息,请参见管理和查看已完成的生成。
请参见
任务
如何:从 Team Foundation Build 中运行数据库单元测试
概念
其他资源
修订记录
日期 |
修订记录 |
原因 |
---|---|---|
2010 年 7 月 |
添加了本主题,以允许用户直接使用 Team Foundation Build 部署数据库,而不是只能作为单元测试的一部分进行部署。 |
信息补充。 |