我正在转换我们的企业版本,以便它使用‘Matrix’指令(https://www.jenkins.io/blog/2019/11/22/welcome-to-the-matrix/),但我在优化它时遇到了麻烦。在预矩阵世界中,我们有一个构建步骤(生成JAR),然后是一个并行的‘包’步骤(生成Linux和Windows发行版),基本上是一个‘系统测试’阶段(在各种JVM上执行Windows和Linux发行版),我们在包和系统测试阶段并行地执行一些‘代码质量’检查。
这其中的很大一部分似乎是为了使用“矩阵”。因此, Package 显然是打造Windows和Linux平台的一个矩阵。而系统测试则是平台和JVM的另一个双轴矩阵。我可以很容易地让一个矩阵跟随另一个矩阵。到现在为止还好。
然而,作为一个异常值,我被“代码质量”这个词困住了。有没有办法让这些阶段与矩阵运算平行运行。一旦创建了构建,它们就是独立的(它们不需要等待打包)。它们也很耗时,所以将它们与两个矩阵阶段串联运行会使构建时间更长。Jenkins抱怨说,如果你把一个矩阵放在一个平行的阶段中。
关于如何将非矩阵阶段与矩阵并行运行,您有什么想法吗?
1条答案
按热度按时间az31mfrm1#
我想出了一个有点“更好”的解决方案:
当然,最终的布局并不完美。但是,它的工作并不是那么麻烦,而且仍然很容易维护。