我目前正在尝试获取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应用程序?
答案 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