经典编辑器中的策略/矩阵



我的Azure DevOps yaml文件中有以下代码片段。如何将此结构转换为基于编辑器的经典管道?是否有可能通过乘数来做到这一点?

strategy:
matrix:
LOAD:
systemTestCategoryName: LOAD
AgentName: Agent1
NUNIT_INCLUDE_CATEGORIES: LoadTest
API:
systemTestCategoryName: API
AgentName: Agent2
NUNIT_INCLUDE_CATEGORIES: API
CHROME:
systemTestCategoryName: UI_CHROME
AgentName: Agent3
NUNIT_INCLUDE_CATEGORIES: CHROME
FIREFOX:
systemTestCategoryName: UI_FIREFOX
AgentName: Agent4
NUNIT_INCLUDE_CATEGORIES: GUI
pool:
name: mypool
demands:
agent.name -equals $(AgentName)

谢谢

不是真的。绝对与您在 YAML 中执行此操作的方式不同。不过,乘数是最接近

的。乘数将运行被乘法的值的每个组合,这不是您想要的。您可以尝试一些额外的黑客方法,例如使用值FIREFOX,CHROME,ETC创建一个名为Configurations的变量,在此基础上相乘,然后使用包含实际变量值的 JSON 字符串生成名为FIREFOXCHROMEETC的变量,然后使用内联脚本检索正确的变量,解析它,然后使用这些值。

但这绝对不符合代理需求;你必须摆脱它,并确保测试可以在任何代理上彼此独立运行。

可能最简单的方法是首先处理如上所述的代理要求,然后将所有这些变量统一为一个公共值,然后乘以该值。所以而不是

FIREFOX:
systemTestCategoryName: UI_FIREFOX
AgentName: Agent4
NUNIT_INCLUDE_CATEGORIES: GUI

你会有

FIREFOX:
systemTestCategoryName: FIREFOX
NUNIT_INCLUDE_CATEGORIES: FIREFOX

然后可以折叠成包含FIREFOX,CHROME,ETC的单个乘法变量。

您也可以完全跳过乘数,只拥有 4 个共享一个共同任务组的独立作业。

最新更新