【问题标题】:How to specify a destination folder with MSDeploy如何使用 MSDeploy 指定目标文件夹
【发布时间】:2016-07-15 14:56:57
【问题描述】:

我让 MSDeploy 使用类似这样的命令成功地将 web 包 zip 文件部署到远程 IIS 网站

MyDeployCommand.deploy.cmd /T /M:https://MyServer:8172/msdeploy.axd -allowUntrusted   /U:Username /P:Password /A:Basic "-setParam:name='IIS Web Application Name',value='My Website Name'"

虽然这可行,但它默认为网站指向的当前目录。我想改变物理路径。我尝试了许多参数都没有成功,我想知道这是否可以做到。

感谢 Chief7 指出 appcmd,它在目标上有效,例如

%windir%\system32\inetsrv\appcmd set site /site.name:"My Website Name" /application[path='/'].virtualDirectory[path='/'].physicalPath:"C:\new\path"

但是,如果我在远程机器上尝试同样的事情,例如

"%MSDeployPath%msdeploy.exe" -verb:sync -source:runCommand="%windir%\system32\inetsrv\appcmd.exe set site /site.name:;quot;My Website Name;quot; /application[path='/'].virtualDirectory[path='/'].physicalPath:;quot;C:\new\path;quot;",dontUseCommandExe=true -dest:auto

它回来了

错误:系统找不到指定的文件。 (来自 HRESULT 的异常:0x80070002)我认为是指 appcmd。我加了

dontUseCommandExe=true

解决通过 cmd.exe 调用它的问题

【问题讨论】:

    标签: msdeploy


    【解决方案1】:

    您可以扩展 WebDeploy 清单以使用 RunCommand 提供程序更改站点/应用程序路径。

    <runcommand path=&quot;%windir%\system32\inetsrv\appcmd set app /app.name:&amp;quot;Default Web Site/app12&amp;quot; /&#91;path=&#39;/&#39;&#93;.physicalPath:C:\temp\app12&quot; waitInterval=&quot;5000&quot;/>
    

    http://www.dotnetcatch.com/2016/06/28/webdeploymsdeploy-quick-tip-change-iis-siteapp-physical-path-with-msdeploy/

    http://www.dotnetcatch.com/2016/05/19/extending-the-webdeploy-manifest/

    appHostConfig 提供程序也应该允许您更改目录,但这更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 2010-09-13
      • 2015-07-11
      • 2016-03-03
      • 1970-01-01
      相关资源
      最近更新 更多