我一直试图解决这个问题,到目前为止还没有找到一个简单的解决方案。使用TFS 2010作为构建过程的一部分来部署数据库项目(和网站)真的很难吗?
我发现了一个涉及大量复杂检查和编辑工作流程的例子(这是一个巨大的工作流程btw)。
我甚至购买了“使用VS 2010进行专业应用程序生命周期管理”这本书,但显然专业人士并未部署他们的应用程序,因为书中甚至没有提到它。
我知道在谈到TFS时我很迟钝,但似乎应该有任何简单的方法来做到这一点。有吗?
答案 0 :(得分:7)
我不能代表数据库部分,但我只是在网页部分经历了这个,神奇的部分是not very well documented组件,即MSBuild参数。
在您的构建定义中:
MsBuild Params:
/p:MSDeployServiceURL="http://myserver"
/p:MSDeployPublishMethod=RemoteAgent
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:username=aduser
/p:password=adpassword
要求:
您可以配置站点在您正在部署的Web项目中访问的WebSite /虚拟目录。就个人而言,我有一个每个环境的构建配置,这使得构建非常容易处理和组织。例如,我们有发布,调试和开发(还有更多但是对于这个例子来说就是这样)。只有Web项目具有 Dev 配置。
要执行此操作,请右键单击解决方案 Configuration Manager ... ,在Web项目中单击配置下拉列表,然后单击新建... 即可。为此示例命名为“Dev”,从调试或发布复制设置,以及与部署服务器环境最接近的匹配项。确保选中“创建新的解决方案配置”,默认情况下是这样。创建完成后,将解决方案的配置下拉列表更改为新的 Dev ,并任意CPU ...确保您的项目都正确无误,我有一些翻转随机的x86和x64,不确定的确切原因。)
在您的网络项目中,右键单击属性。在左侧,单击打包/发布Web (您还要混淆其他打包/发布SQL选项卡,但我不能说明这一点)。在右键单击选项中,单击将部署包创建为zip文件。默认位置没问题,我在任何地方找不到的下一个文本框。格式如下: WebSite /虚拟目录,因此如果您在IIS中有一个名为“BuildSite”的站点,没有虚拟目录(app == site root),那么您将拥有 BuildSite 强>只在这个盒子里。如果它位于虚拟目录中,您可能拥有默认网站/ BuildVirtualDirectory 。
设置好所有这些后,请确保签入解决方案和Web项目,以便构建服务器具有您所做的配置更改,然后启动构建:)
如果您有更多问题,我建议您观看this video by Vishal Joshi,特别是在大约22和59分钟后,他也会覆盖数据库部分...但我没有实际经验,因为我们正在进行非MSSQL数据库的顶部。