我正在尝试制作一个概念简单的Web部署场景。我的目标是:
我是在一个没有安装IIS的虚拟机上这样做的,否则它会出于某种原因读取IIS配置,即使它不需要对它做任何事情(并且失败是因为它缺乏管理权限)。
我有以下文件:
C:\Temp\TheFolder\readme.txt
C:\Temp\TheFolder\MagicScript\CSTest.exe.zip包是通过清单创建的:
<sitemanifest>
<contentPath path="C:\Temp\TheFolder"/>
<runCommand path="C:\Temp\TheFolder\MagicScript\CSTest.exe"/>
</sitemanifest>对于打包,我使用以下命令:
msdeploy -verb:sync -source:manifest=manifest.xml -dest:package=ready.zip对于解压缩,我使用以下命令:
msdeploy -verb:sync -source:package=ready.zip -dest:auto -replace:match=TheFolder,replace=OtherFolder但是,MSDeploy顽固地将所有包都解压在同一个TheFolder中。.exe文件也不是从未打包的文件夹运行的。而是将其复制到临时文件夹,然后从那里运行,将当前目录设置为运行部署脚本的位置。
我也尝试使用一个参数,而不是替换,但这仍然没有任何效果。
我做错了什么?
发布于 2014-05-19 09:33:21
"msdeploy -verb:sync“--在源和目标之间执行同步。如果您使用“自动”提供者-它同步源和目的地,所以在您的情况下,在同一台PC是相同的文件夹。“替换”参数仅适用于文件。
您可以尝试以下方法:
msdeploy -verb:sync -source:package=ready.zip -dest:contentPath="C:\Temp\OtherFolder"或者,如果它不能工作,尝试使用目标清单:
msdeploy -verb:sync -source:package=ready.zip -dest:-source:manifest=manifestDestination.xml其中manifestDestination.xml是:
<sitemanifest>
<contentPath path="C:\Temp\OtherFolder"/>
<runCommand />
</sitemanifest>https://stackoverflow.com/questions/23330841
复制相似问题