我在Visual Studio Test Version 2中设置了发行版定义。
我已经创建了一个Agent阶段,然后创建了Visual Studio Test v2任务以并行执行测试运行。
问题:我想在同一Agent阶段执行VISUAL STUDIO TEST V2 TASK之前,在Agent池中的所有Build Agent(十台机器)上运行Power Shell脚本。有什么方法可以做到这一点或其他解决方法?
答案 0 :(得分:1)
您是否尝试过部署组?
我通常需要在代理计算机上一次又一次地运行一些安装脚本,并且我已经意识到实现此目标的最佳方法是通过部署组。当根据代理程序池配置计算机时,还应根据自定义部署池设置部署代理程序。因此,同一台计算机上正在运行一个代理和一个部署代理进程。
一旦所有计算机都列在部署池中,我要做的就是创建一个具有部署组阶段的新发行版,添加脚本并运行发行版。然后,脚本将在所有参与者计算机上执行。
https://docs.microsoft.com/en-us/vsts/pipelines/release/deployment-groups/?view=vsts
答案 1 :(得分:0)
对我来说,唯一可行的方法是为需要运行脚本的每个代理创建一个代理阶段,并使用Agent.Name等于yourAgentName设置需求。 这样一来,您就可以确保所有特工都可以锁定目标。
答案 2 :(得分:0)
如果您只想为每个代理计算机分别在VS Test任务之前运行PowerShell任务,则可以在同一代理阶段中添加两个任务,并设置代理阶段为:
然后任务执行顺序为:
agent 1 - PowerShell task
agent 1 - VS Test task
agent 2 - PowerShell task
agent 2 - VS Test task
...
agent 10 - PowerShell task
agent 10 - VS Test task
如果要先在每台代理计算机上执行PowerShell任务,然后在每台代理计算机上执行VS Test任务,则应在两个代理阶段中添加这两个任务 >,并将两个代理阶段都设置为:
然后任务执行顺序为:
agent 1 - PowerShell task
agent 2 - PowerShell task
...
agent 10 - PowerShell task
agent 1 - VS Test task
agent 2 - VS Test task
...
agent 10 - VS Test task