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

Run PreSync/PostSync commands via WPP deploy.cmd

提问人:jaffa 提问时间:2/7/2014 最后编辑:quetzalcoatljaffa 更新时间:1/19/2019 访问量:428

问:

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

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

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

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

visual-studio-2012 tfs msdeploy msbuild-wpp

评论


答:

1赞 Richard Szalay 2/12/2014 #1

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

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

1赞 neoscribe 1/19/2019 #2

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