1

我试图弄清楚如何使用 VS/MSBuild 生成的 deploy.cmd 运行 pre/post 命令。我知道可以使用 msbuild 在命令行上设置一些 pre/postsync 命令,但这在 x.deploy.cmd 内的 web 部署包中是固定的。

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

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

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

4

2 回答 2

1

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

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

于 2014-02-11T21:17:28.123 回答
1

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

于 2019-01-18T17:21:21.067 回答