能否配置TFS构建定义,让两个命令行任务通过不同Agent并行执行?
当然支持!TFS 可以在单个构建定义中实现独立 Agent 并行执行任务
完全能把你现在的两个独立构建定义合并成一个,通过**并行作业(Parallel Jobs)**让两个命令行任务在各自独立的 Agent 上同时运行,完美匹配你拆分Windows应用测试组做并行测试的需求。
下面是具体的配置步骤,一步步来就行:
1. 先确认你的 TFS 版本
TFS 2018 及之后的版本(包括现在的 Azure DevOps Server)都支持作业级别的并行执行,如果你的版本更早,可能需要先升级哦。
2. 在构建定义里添加并行作业
- 打开你的目标构建定义,切换到「任务」标签页。
- 默认会有一个「作业 1」,点击作业名称旁边的
...按钮,选择「添加作业」,新建第二个作业(比如命名成「测试组A作业」「测试组B作业」,方便区分)。 - 选中每个作业,在右侧的「作业设置」里,你可以指定这个作业要用的 Agent 池——记得确保你的 Agent 池里有足够多的可用 Agent,这样两个作业才能同时跑起来。
3. 给每个作业配置对应的命令行任务
- 在第一个作业里,添加你的第一个命令行任务,配置好对应测试组的执行命令。
- 在第二个作业里,添加第二个命令行任务,配置另一组测试的执行命令。
4. 开启作业并行执行
- 点击构建定义顶部的「选项」标签页。
- 找到「作业并行性」部分,勾选「允许并行作业」,这样两个作业就会各自分配独立的 Agent,同时启动执行了。
一些额外提醒
- 一定要保证 Agent 池里至少有两个可用的 Agent,不然其中一个作业会等着另一个跑完才能开始,就达不到并行的效果了。
- 如果两个测试组需要共享构建产物,可以用「工件(Artifacts)」或者共享文件夹来传递,不过要是只是拆分测试的话,大概率不需要,各自执行就行。
- 每个作业的日志是独立的,你可以分别查看两组测试的执行结果和日志,排查问题也方便。
这样配置完之后,你只需要触发一次这个构建定义,就能让两组测试在独立的 Agent 上并行跑起来,不用再单独触发两个构建定义啦。
内容的提问来源于stack exchange,提问作者Tree55Topz
相关产品推荐
相关产品推荐

