MSDeploy - 同步命令将文件复制到iis应用程序的子文件夹

问题描述:

我想要执行生成后步骤,以便使用MSDeploy将某些文件复制到网站文件夹中。MSDeploy - 同步命令将文件复制到iis应用程序的子文件夹

最终,我会做这个远程位置(指定computerNameuserName开关等),但现在我在本地运行它:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
    -AllowUntrusted -verb:sync 
    -source:dirPath="D:\files_to_copy" 
    -dest:iisApp="My Website Name" 

这工作,但它会删除所有网站文件夹的内容,并将它们替换为“D:\ files_to_copy”的内容(如您所期望的那样)。所以我想知道如何使用这个简单的复制到网站内的子文件夹?

我试过-dest:iisApp="My Website Name/my_subfolder"但这只是创建了一个名为“my_subfolder”嵌套在现有的IIS应用程序中的一个新的IIS应用程序。

任何建议非常感谢。

providers比iisApp其他,也许dirPath是你想为-dest藏汉?:

  • dirPath的之一:dirPath提供商同步目录的内容。
  • filePath:filePath提供程序同步各个文件。
  • iisApp:本iisApp提供商同步目录内容到一个文件夹,并标记该文件夹作为一个应用程序。
  • contentPath:contentPath提供程序同步网站内容。上述
+0

dirPath的主要问题是我不想指定绝对路径。相反,我只是想将它添加到网站上,而不管它实际位于何处(对不起,我应该在我的问题中提到这一点)。有什么方法可以使用环境变量或类似的东西动态获取IIS应用程序的路径吗? – WheretheresaWill

+0

我没有使用它,但可以“contentPath”是你在找什么?怕我没有基础设施来为你做测试。 –

+0

我会检查出来 - 谢谢你的建议。 – WheretheresaWill

安德斯的答案提供正确的信息,但我成功地用于从事这项运动的完整代码如下:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
    -AllowUntrusted -verb:sync 
    -source:contentPath="D:\files_to_copy" 
    -dest:contentPath="My Website Name\my_new_folder" 

添加一个文件到网站(例如

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
    -AllowUntrusted -verb:sync 
    -source:contentPath="D:\my_folder\robots.txt" 
    -dest:contentPath="My Website Name\robots.txt" 

希望这是对别人的将来有用的例子:robots.txt的)可以使用下面的完成。