运行 post Web 部署后的部署脚本
Running post deployment script after Web Deploy
我遇到以下问题,令我惊讶的是我在 SO 或 MSDN 上找不到任何直接的解决方案。
我的几个 Web 应用程序中有现有的 *.pubxml 配置文件,我想执行 post 部署脚本 - powershell 脚本 - 稍微重组网站及其子应用程序。
我没有使用 Web 部署包 - 只是 Web 部署。
脚本部署成功,问题是部署后如何自动执行?
我有两种情况:
- 只需从 Visual Studio 执行 "Publish..."。
- 作为 TFS 构建定义 (TFS 2013) 的一部分执行。
您应该仅在 VSTS/TFS 中切换到从构建和发布进行部署。
然后您可以添加 PowerShell 构建任务并指向脚本或使用内联(如果它很短)。如果它是您在许多构建中使用的脚本,您可能想要编写自己的构建任务。
您可以尝试通过MSBuild定义一个“Target”来达到您的要求。
第一种情况:
Visual Studio 构建过程由导入到项目文件中的一系列 MSBuild .targets 文件定义。这些导入文件之一,Microsoft.Common.targets。此文件包含一组预定义的空目标,这些目标在构建过程中的一些主要目标之前和之后调用。
因此您可以定义一个 "Target" 元素,其 "AfterTarget" 属性的值设置为 "MSDeployPublish":
<Target Name="CustomPostPublishActions" AfterTargets="MSDeployPublish" >
<Exec Command="..\PostDeploymentScript.sp1 " />
</Target>
对于第二种情况:
您可以按照 MrHinsh 的建议添加 PowerShell 构建任务。
我遇到以下问题,令我惊讶的是我在 SO 或 MSDN 上找不到任何直接的解决方案。
我的几个 Web 应用程序中有现有的 *.pubxml 配置文件,我想执行 post 部署脚本 - powershell 脚本 - 稍微重组网站及其子应用程序。
我没有使用 Web 部署包 - 只是 Web 部署。
脚本部署成功,问题是部署后如何自动执行?
我有两种情况:
- 只需从 Visual Studio 执行 "Publish..."。
- 作为 TFS 构建定义 (TFS 2013) 的一部分执行。
您应该仅在 VSTS/TFS 中切换到从构建和发布进行部署。
然后您可以添加 PowerShell 构建任务并指向脚本或使用内联(如果它很短)。如果它是您在许多构建中使用的脚本,您可能想要编写自己的构建任务。
您可以尝试通过MSBuild定义一个“Target”来达到您的要求。
第一种情况:
Visual Studio 构建过程由导入到项目文件中的一系列 MSBuild .targets 文件定义。这些导入文件之一,Microsoft.Common.targets。此文件包含一组预定义的空目标,这些目标在构建过程中的一些主要目标之前和之后调用。
因此您可以定义一个 "Target" 元素,其 "AfterTarget" 属性的值设置为 "MSDeployPublish":
<Target Name="CustomPostPublishActions" AfterTargets="MSDeployPublish" >
<Exec Command="..\PostDeploymentScript.sp1 " />
</Target>
对于第二种情况:
您可以按照 MrHinsh 的建议添加 PowerShell 构建任务。