【问题标题】:MSDeploy to IIS6 via wmsvcMSDeploy 通过 wmsvc 到 IIS6
【发布时间】:2011-06-29 16:07:46
【问题描述】:

我正在尝试使用 msdeploy.exe 将网站部署到 IIS6 框。我可以使用 Visual Studio 2010 将类似的网站发布到同一台服务器,因此我知道 MS 部署代理服务正在运行并正确配置。但是当我尝试运行命令时,比如说:

msdeploy -verb:sync -source:contentPath=C:\source\ -dest:iisApp="beta",wmsvc=beta.alanta.com,username=Administrator,password=xxx

然后我收到此错误消息:

错误:无法完成对远程代理 URL“https://beta.alanta.com:8172/msdeploy.axd?Site=beta”的请求。 错误:无法连接到远程服务器 错误:无法建立连接,因为目标机器主动拒绝它 74.208.74.114:8172 错误数:1。

好的,这是有道理的:这是一台 IIS6 机器,它采用不同的 URL 语法。但是,如果我尝试使用推荐的 here 语法,如下所示:

msdeploy -verb:sync -source:contentPath=C:\source\ -dest:iisapp="beta",wmsvc=http://beta.alanta.com/MsDeployAgentService,username=Administrator,password=xxxx

然后我收到此错误消息:

错误:无法完成对远程代理 URL“https://http//beta.alanta.com/MsDeployAgentService:8172/msdeploy.axd?Site=beta”的请求。 错误:无法解析远程名称:'http' 错误数:1。

换句话说,msdeploy 命令要坚持在我输入的任何 URL 前面加上 SSL 前缀 - 但此框中未配置 SSL。过去两个小时我一直在谷歌搜索,但无法找出正确的语法。有什么建议吗?

【问题讨论】:

    标签: msdeploy


    【解决方案1】:

    我在使用此博客上的 msbuild 命令时遇到了同样的问题: http://www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity_24.html

    最后,我发现将 Publish Method 更改为 MsDepSVC 解决了这个问题并且工作正常。

    这是我的 msbuild 属性: /P:Configuration=%env.Configuration%
    /P:DeployOnBuild=True
    /P:DeployTarget=MSDeployPublish
    /P:MsDeployServiceUrl=https://%env.TargetServer%/MSDeployAgentService /P:AllowUntrustedCertificate=True
    /P:MSDeployPublishMethod=MsDepSVC
    /P:CreatePackageOnPublish=True
    /P:用户名=anAdminDeployBot /P:密码=aGre4tP4ssw0r6

    【讨论】:

    • 详细说明:在这种情况下,您必须使用 MsDepSvc(Web 部署代理服务)而不是 WMSvc(Web 管理服务)的原因是 WMSvc 是一个 IIS 组件,仅存在于 IIS7 及更高版本上。此外,虽然 WMSvc 可以安装在客户端 SKU Vista+ 上,但它仅适用于在服务器 SKU 上发布 Web Deploy。
    猜你喜欢
    • 2013-05-18
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多