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

时间:2014-02-07 10:57:43

标签: visual-studio-2012 tfs msbuild msdeploy msbuild-wpp

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

MSBuild生成的.cmd文件是样板脚本,您可以更改该样板脚本以调用pre / post powershell脚本。只需用您的自定义代码覆盖构建生成的代码即可。