【问题标题】:msdeploy create package for manual deploymentmsdeploy 为手动部署创建包
【发布时间】:2014-07-08 02:12:22
【问题描述】:

我对 msdeploy 还很陌生,但我想用它来创建一个包/zip 文件,其中仅包含已更改的网站文件。

我无法使用 msdeploy 直接部署文件,因为我无权在生产服务器上安装 Web Deploy。这就是为什么我需要获取一个 zip 文件,我可以将其复制到生产服务器并手动解压缩以替换更改的文件(我知道这不是最佳的)。

如果我运行以下命令,我会得到要添加/更新/删除哪些文件的文本输出:

    "c:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" ^
-verb:sync ^
-source:contentPath="D:\MyProject" ^
-dest:contentPath="MySite",ComputerName="https://MyServer/MsDeploy.axd?site=MySite",UserName="MyUsername",Password="MyPassword",AuthType="Basic" ^
-whatif ^

有没有什么方法可以让 msdeploy 将此输出保存到 zip 文件/包中,而不仅仅是打印它?

IIS 版本是 7,如果有区别的话。

【问题讨论】:

    标签: iis msdeploy


    【解决方案1】:

    使用 MSDeploy,您可以将目标设置为 ZIP 包,一旦您将 ZIP 文件复制到目标,就可以将其用作同步源。

    msdeploy.exe -verb:sync -source:contentPath="d:\myProject" -dest:package="c:\myZipFile.zip"
    

    不幸的是,它不会只复制更改的文件(这通常是有问题的,因为它需要创建“已删除存根”以便知道是否要删除任何文件。上面的命令将复制所有文件网站。

    MSDeploy 是增量的,但仅在于它能够将目标与给定源同步。因此,如果您在稍微更改 d:\myProject 后重复上述命令,您将看到仅指示增量差异的输出。但目的地仍然是整个 d:\myProject 副本。

    抱歉,我没有更好的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多