如何在每次构建后在vNext中启动/停止TFS构建VM

时间:2017-06-28 16:25:14

标签: tfsbuild tfs2015 tfs2017

我有一个高度自定义的TFS 2013 XAML构建工作流程。它具有在构建控制器上运行的自定义代码,用于启动/停止构建虚拟机。是否可以在构建代理程序的机器之外执行自定义任务?如果是这样,在哪里以及如何。

1 个答案:

答案 0 :(得分:0)

对于vNext构建系统,您可以添加批处理脚本 PowerShell 任务作为结束任务,以运行您需要的任何命令。

批处理脚本例如:

  1. 使用命令“启动/停止TFS构建VM”创建cmd文件。
  2. 签入cmd文件。
  3. 使用“批处理脚本”任务运行cmd文件。
  4. 如果您要停止/启动座席服务:(参考this article

    net stop <Service-Name>
    net start <Service-Name>
    

    如果要关闭/重启远程计算机:(参考this article

    Shutdown : shutdown /m \\machinenameOrIP/s /t 0 
    Restart : shutdown /m \\machinenameOrIP /r /t 0 
    

    有关启动/停止VM的命令,请看此链接:https://technet.microsoft.com/en-us/itpro/powershell/windows/hyper-v/start-vm

    注意:

    无论运行什么命令,请确保服务帐户具有在VM上运行它们的足够权限。

    <强>更新

    如果构建VM已关闭,我们无法在构建过程中启动VM,因为构建服务未启动,构建代理必须处于联机状态。