我正在尝试使用VS / MSBuild生成的deploy.cmd来弄清楚如何运行pre / post命令。我知道有pre / postsync命令可以在命令行上使用msbuild设置,但这是在x.deploy.cmd内的Web部署包中修复的。
如何自定义此文件的输出以便我可以使用特定参数运行deploy命令?
意图是非开发人员将获取包zip文件并将应用程序导入IIS。我们使用IIS来托管一些Windows服务,因此为了能够部署,我们需要在部署之前停止和卸载服务,然后在部署后阶段安装重启。
对于某些服务器,我们允许从TFS自动部署,并使用msbuild WPP管道的.targets文件挂钩此pre / post命令。但是,我们希望手动部署命令文件可以使用它。
答案 0 :(得分:1)
PreSync / PostSync是msdeploy命令行的功能,包/清单提供程序甚至API都不支持。它们相当于第二次运行msdeploy,因此在将软件包直接导入IIS时,您无法包含其功能。
我建议在将软件包复制到同一目录后,在用户运行的服务器上安装批处理/ powershell文件。
答案 1 :(得分:0)
MSBuild生成的.cmd文件是样板脚本,您可以更改该样板脚本以调用pre / post powershell脚本。只需用您的自定义代码覆盖构建生成的代码即可。