我一直在阅读和试验好几天。我买了最新的“内部Microsoft构建引擎 - 使用MSBUild和Team Foundation Build”。我一直试图通过查看构建目标来解决问题。
我很快就能够在构建服务器上构建一个包,但我希望能够指定安装文件夹,因此它不会进入wwwroot。我读到我必须将项目从使用cassini切换到本地IIS服务器。完成所有这些。
我通过定义传递给msbuild的args:
/ p:DeployOnBuild = true / p:DeployTarget = Package / p:MSDeployPublishMethod = InProc / p:CreatePackageOnPublish = True / p:MsDeployServiceUrl = localhost
我有很多问题,但我会简单地开始。如果有人能提供指导,我会非常感激。
如果构建服务器上不存在指定的应用程序(它不应该!),则包创建将失败。如果我添加一个相应命名的shell应用程序,则构建包。
当我尝试使用Web.deploy.cmd进行部署时,即使我超过#1,它也会失败:
错误:不支持使用提供程序appHostConfig的64位源和32位目标。
请注意,构建服务器是64位,THIS目标服务器(开发)是32位。我有针对“任何cpu”的构建配置。哦,我正在调用32位机器的部署,因此只有32位msdeploy.exe可用。
答案 0 :(得分:1)
在“Process”下的相应BuildDefinition中,展开“Advanced”部分并将“MSBuild Arguments”的值设置为“/ p:DeployOnBuild = True”。
这将使您的WebDeploy包根据项目属性中的设置构建。
答案 1 :(得分:0)
我写了两篇关于如何创建Web包并将其自动部署到Web服务器的文章,我认为它对您有用。
使用团队构建click here
自动部署您的网站以进行质量检查如何使用MS Deploy运行远程部署? click here