SERVERNAME(myDomain\Username)
Application Pools
Sites
DEV Site1
DEV Site2
dev Site 3
bin
Content
...
Views
etc ...
这是我的DEV Web服务器的基本布局。我们的DEV Web服务器上运行着许多站点。我正在尝试使用TFS 2013 Build将我的网站发布到DEV服务器,跟随Vishal Joshi,Microsoft和其他人的文章。
我的错误是“ERROR_SITE_DOES_NOT_EXIST”。基本修复对我没有帮助。
在我的示例中,我正在使用/p:DeployIisAppPath="dev Site 3"
。该站点下没有定义任何应用程序。
Microsoft's instructions没用。我以为我应该只使用IIS站点名称,但这并不能证明是成功的。此参数的预期值是多少?我有人需要App Pool名称吗?是否有一个命令可以针对IIS发出以导出所有可用的AppPath列表?一旦我在DEV服务器上解决这个问题,我就必须对STG服务器做同样的事情。
[更新1] 添加完整的MSBuild参数
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=InProc
/p:MSDeployServiceUrl=http://SERVER:PORT/MsDeployAgentService
/p:DeployIisAppPath="dev Site 3"
答案 0 :(得分:7)
您的服务器位于您的域内,因此我将使用我的内部服务器解决方案。我不得不为我们的DMZed服务器提出不同的东西。
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=False
/p:MSDeployPublishMethod=WMSvc
/p:MsDeployServiceUrl="https://SERVER:8172/MsDeploy.axd?Site=direct"
/p:DeployIisAppPath="direct"
/p:AllowUntrustedCertificate=True
/p:AuthType=NTLM
/p:UserName=
此解决方案使用WMSvc(安装在Web服务器上)允许TFS构建过程访问部署时所需的服务器部分。我没有尝试过MSDeployAgentService,所以我不确定那个。在我的情况下,我没有在部署时创建一个包(我似乎记得当我这样做时它返回了一个错误,虽然我不记得它是什么)。
此外,最后三个参数对于TFS Build Service帐户登录VMSvc并执行其操作是必要的。将UserName留空会导致它以正在运行的帐户登录(不需要提供密码,是的!)。
以下是成功部署时构建日志的示例输出。
MSDeployPublish:
Start Web Deploy Publish the Application/package to https://SERVER:8172/MsDeploy.axd?Site=direct ...
Starting Web deployment task from source: manifest(C:\Builds\1\Direct\Continuous Integration (SERVER)\Binaries\_PublishedWebsites\WEBPROJECTNAME_Package\Archive.SourceManifest.xml) to Destination: auto().
Adding ACL's for path (direct)
Adding ACL's for path (direct)
Updating file (direct\bin\Content\images\buttonBkgHover.png).
... Removed for brevity => This section is all 'Updating file (PATH).'
Updating file (direct\Web.config).
Adding ACL's for path (direct)
Adding ACL's for path (direct)
Successfully executed Web deployment task.
Publish is successfully deployed.
PipelineDeployPhase:
Publish Pipeline Deploy Phase