Jenkins声明式管道

时间:2018-08-29 08:47:45

标签: jenkins groovy jenkins-pipeline pipeline jenkins-declarative-pipeline

我正在Jenkins中使用声明性管道,并且我有200多个测试。我想将它们拆分为许多机器。我有一段代码我必须修复,但我不知道如何。该文档不是很好。有人可以解释一下这些代码行中发生了什么吗?

    def splits = splitTests parallelism: [$class: 'CountDrivenParallelism', size: 3], generateInclusions: true

    def Groups = [:]

    for (int i = 0; i < splits.size(); i++) {

        def split = splits[i]

        Groups["split-${i}"]
  • splitTests是一种语言功能,但是并行性吗?
  • $ Class'CountDrivenParallelism',在这里他创建了一个类?
  • 什么是网上论坛或此运算符[:]

1 个答案:

答案 0 :(得分:1)

splitTests是一种Groovy方法,来自Jenkins的 Parallel Test Executor插件https://wiki.jenkins.io/display/JENKINS/Parallel+Test+Executor+Plugin

在Groovy中,您不必在方法调用中使用括号,但是您可以这样写同一行:

def splits = splitTests(并行性:[$ class:'CountDrivenParallelism',大小:3],generateInclusions:true)

该方法的参数为Map,并具有3个键:并行度,大小和generateInclusions。

$ Class'CountDrivenParallelism'

告诉插件应使用用于并行测试的实现。

def组= [:]

定义一个名为Groups的新局部变量,并使用新的HashMap对其进行初始化。 [:]是Groovy中Map的缩写。

请参见fx。本文介绍了您发布的代码:https://jenkins.io/blog/2016/06/16/parallel-test-executor-plugin/及其作用