Web部署后运行部署后脚本

时间:2017-02-25 18:56:19

标签: visual-studio powershell tfs msbuild web-deployment

我遇到以下问题,我很惊讶我无法在SO或MSDN上找到任何简单的解决方案。

我在我的几个Web应用程序中都存在* .pubxml配置文件,我想执行部署后脚本 - powershell脚本 - 它会稍微重新组织WebSite及其子应用程序。

我没有使用Web部署包 - 只是Web部署。

脚本已成功部署,但问题是 - 部署后我应该如何自动执行?

我有两种情况:

  1. 简单执行"发布..."来自Visual Studio。
  2. 作为TFS构建定义(TFS 2013)的一部分执行。

2 个答案:

答案 0 :(得分:1)

您应该切换到Build& amp;仅在VSTS / TFS中发布。

enter image description here

然后,您可以添加PowerShell构建任务,并指向脚本或使用内联(如果它很短)。如果它是您在许多构建中使用的脚本,则可能需要编写自己的构建任务。

答案 1 :(得分:1)

您可以尝试通过MSBuild定义“目标”以满足您的要求。

对于第一种情况:

Visual Studio构建过程由一系列导入项目文件的MSBuild .targets文件定义。其中一个导入的文件是Microsoft.Common.targets。此文件包含一组预定义的空目标,这些目标在构建过程中的某些主要目标之前和之后调用。

所以你可以定义一个“Target”元素,其“AfterTarget”属性的值设置为“MSDeployPublish”:

<Target Name="CustomPostPublishActions" AfterTargets="MSDeployPublish" >
    <Exec Command="..\PostDeploymentScript.sp1 " />
</Target>

对于第二种情况:

您可以按照MrHinsh的建议添加PowerShell构建任务。

相关问题