我想在 CI 进程结束时将带有 msdeploy.exe 的文件夹打包到 zip 目标。我运行以下命令行
msdeploy.exe -verb:sync -source:contentpath="C:\SampleWebApp" -dest:package="c:\SampleWebApp.zip" -declareParamFile="parameters.xml"
我也喜欢 msbuild 在吐出部署包时生成的 *.deploy.cmd 和 *.SetParameters.xml。我重命名了一组 *.deploy.cmd 和 *.SetParameters.xml 文件并相应地更改了内容。能够在部署环境中运行。
当我运行 *.deploy.cmd 文件时,它会生成文件夹“C:\SampleWebApp”,而不是根据 .SetParameter.xml 中提供的参数创建 iis 应用程序。
经过一番调查,我发现 .cmd 部署到 -dest:auto 很好。但显然我在包内的包清单表明这个包是 contentPath 而由 msbuild 生成的包在使用 iisApp 提供程序的包内的 archive.xml 中有更复杂的清单。
看了下面的帖子
我相信如果我将 -source:manifest="Package.xml" 与正确的 Package.xml 一起使用,最终结果应该类似于 VS 包输出
我想也许 *.SourceManifest.xml 是包的清单。我使用并且它构建了包但是当我想将它部署到 using .deploy.cmd 它抱怨 setAclUser
错误:当“setAcl”提供程序与物理路径一起使用时,必须指定“setAclUser”设置的值。
有人知道这是 msbuild 使用的清单吗?