通过 WPP deploy.cmd 运行 PreSync/PostSync 命令



我正在尝试弄清楚如何使用VS/MSBuild生成的deploy.cmd运行pre/post命令。我知道可以使用 msbuild 在命令行上设置预/同步后命令,但这在 x.deploy.cmd 内的 Web 部署包中得到了修复。

如何自定义此文件的输出,以便可以使用特定参数运行 deploy 命令?

目的是非开发人员将选取包 zip 文件并将应用程序导入 IIS。 我们使用IIS来托管一些Windows服务,因此为了能够部署,我们需要在部署之前停止并卸载该服务,然后在部署后阶段安装重新启动。

对于某些服务器,我们允许从 TFS 自动部署,并使用 msbuild WPP 管道的 .targets 文件挂接此前/后命令。但是,我们希望它可用于手动部署命令文件。

PreSync/PostSync 是 msdeploy 命令行的功能,包/清单提供程序甚至 API 都不支持这些功能。它们等效于第二次运行 msdeploy,因此在直接将包导入 IIS 时无法包含其功能。

我建议在服务器上有一个批处理/powershell 文件,用户在将包复制到同一目录后运行该文件。

MSBuild 生成的 .cmd 文件是样板脚本,您可以简单地将其更改为调用前/后 powershell 脚本。只需用自定义版本覆盖构建生成的版本即可。

最新更新