Visual studio 发布后在目标服务器上运行powershell脚本或批处理文件

Visual studio 发布后在目标服务器上运行powershell脚本或批处理文件,visual-studio,iis,tfsbuild,publishing,webdeploy,Visual Studio,Iis,Tfsbuild,Publishing,Webdeploy,我正在使用visualstudio.com和Hosted build controller构建网站并将其发布到具有web deploy的服务器。 发布后,我要执行一个文件(powershell脚本或批处理文件) 我知道我可以创建一个在目标服务器上运行的Windows服务,并使用FileSystemWatcher监视更改,并在检测到文件更改时运行文件 但是有没有更好的方法来做到这一点呢 我假设您已经自定义了XAML工作流以添加新活动(可能是InvokeProcess类型?)来处理发布部分 如果是这

我正在使用visualstudio.com和Hosted build controller构建网站并将其发布到具有web deploy的服务器。 发布后,我要执行一个文件(powershell脚本或批处理文件)

我知道我可以创建一个在目标服务器上运行的Windows服务,并使用
FileSystemWatcher
监视更改,并在检测到文件更改时运行文件


但是有没有更好的方法来做到这一点呢

我假设您已经自定义了XAML工作流以添加新活动(可能是InvokeProcess类型?)来处理发布部分

如果是这样,您可以添加另一个活动,该活动将执行自定义powershell(比如custom.ps1)脚本,如下所示:

  • 将custom.ps1添加到源代码管理
  • 将custom.ps1的文件夹添加到生成时使用的文件夹中(右键单击生成定义>编辑生成定义…>源设置选项卡>在此处添加文件夹)
  • 在发布后添加一个新的InvokeProcess活动,该活动将调用powershell.exe,并将“custom.ps1”作为参数
  • 基本思想是:将.ps1与源代码一起部署,并在发布结束后执行

    此外,我强烈建议您看看Ewald Hofman的精彩系列,特别是以下内容: