TFS构建定义不会将Web应用程序部署到IIS

时间:2012-06-27 02:25:57

标签: tfs tfsbuild visual-studio-2012 webdeploy build-definition

我目前正在尝试获取TFS构建定义以自动将我的Web应用程序部署到服务器。构建定义只是标准的手动构建定义。

我已在团队资源管理器中为我的项目正确创建构建定义,当我对构建进行排队时,它已成功完成。

我已将Build process parameters部分中的MSBuild Arguments属性设置为:

/p:DeployOnBuild=True 
/p:Configuration="Release" 
/p:DeployTarget=MSDeployPublish 
/p:MSDeployPublishMethod=WMSVC 
/p:MsDeployServiceUrl=myserver.com 
/p:DeployIISAppPath="Default Web Site" 
/p:username=username 
/p:password=password 
/p:AllowUntrustedCertificate=True 
/p:SkipExtraFilesOnServer=True

但是,当我在IIS中查看我的Web应用程序时,应该存在的文件丢失,例如web.config文件。

在Visual Studio中右键单击我的Web应用程序并通过Web Deploy发布,使用上述设置可正常工作,并且web.config和其他已发布的文件将显示在Web根目录中。

这只是一个开发服务器,因此TFS和IIS安装在同一台机器上,而将/ p:MsDeployServiceUrl更改为localhost也无效。

构建定义中是否缺少某些内容,或者是否需要参数来获取TFS构建以部署我的Web应用程序?

3 个答案:

答案 0 :(得分:1)

您声明的所有属性都很好,但服务URL除外。它需要指向目标服务器上管理服务的完整路径。

/p:MsDeployServiceUrl=https://yourserver:8172/msdeploy.axd

管理服务的默认端口是8172,但如果您的目标设置不同,则需要进行调整。

答案 1 :(得分:0)

我要说摆脱/p:Configuration="Release"部分。

然后转到Process > 1. Required > Items to Build > Configurations to Build并在那里设置配置。

答案 2 :(得分:0)

您是否尝试使用IIS的完整路径,例如/p:DeployIISAppPath="Default Web Site/mywebapp