我有一个Jenkins pipeline,它使用matrix
指令在不同的工作环境中运行一套自动化测试。最后,我想在收集它们之前a将各种测试套件运行的代码覆盖率输出合并到一个文件中,以确保结果是准确的。这听起来应该很简单:
1.对于每个矩阵像元,根据矩阵像元值使用唯一的存储名称存储coverage输出文件。
1.测试运行完成后,将“主”工作线程上的所有文件解压缩并合并。
然而,由于存储库是动态命名的,这使得第二步很困难。这似乎给我留下了三个选择:
- 在取消隐藏时再次硬编码矩阵轴。不是特别吸引人。
- 以编程方式检索矩阵轴。看起来 * 应该 * 是可能的,但我不确定如何从表示矩阵阶段的
FlowNodeWrapper
转到底层的轴字符串。 - 列出构建的所有存储,并选择我想要的。如果可能的话,这也是一个可行的解决方案,因为存储名称遵循一个模式,但我甚至不知道从哪里开始。在Jenkins问题板上有一个与此相关的open issue,但它似乎不会很快移动。
简而言之:我如何才能做到这一点?我如何才能做到:
- 从
FlowNodeWrapper
到矩阵轴? - 用另一种方式找到我的藏货?
1条答案
按热度按时间4xy9mtcn1#
1.对于每个矩阵像元,根据矩阵像元值使用唯一的存储名称存储coverage输出文件。
我对
matrix
不熟悉,所以我不知道怎样才能得到一个唯一的名字,但是在很多情况下,你可以使用env.STAGE_NAME
。2.测试运行完成后,将“主”工作线程上的所有文件解压缩并合并。
在第一步中,记录你使用过的藏匿姓名,然后第二步就很简单了。
使用脚本化的管道,这很容易:
我不知道这是否适用于声明性管道。