Дженкинс Декларативный трубопровод - PullRequest
0 голосов
/ 29 августа 2018

Я использую декларативный конвейер в 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 - это функция языка, но параллелизм?
  • $ Класс 'CountDrivenParallelism', здесь он создал класс?
  • Что такое Группы или этот оператор [:]

1 Ответ

0 голосов
/ 30 августа 2018

splitTests - это метод Groovy, который поставляется из плагина для исполнителя Jenkins с параллельным тестом . https://wiki.jenkins.io/display/JENKINS/Parallel+Test+Executor+Plugin

В Groovy вам не нужно использовать круглые скобки для вызовов методов, но вы можете написать ту же строку, что и эта:

def split = splitTests (параллелизм: [$ class: 'CountDrivenParallelism', размер: 3], generateInclusion: true)

Где параметрами для метода является Карта с тремя ключами: параллелизм, размер и generateInclusion.

$ Класс 'CountDrivenParallelism'

Сообщает плагину, какую реализацию для распараллеливания тестов следует использовать.

def Groups = [:]

Определяет новую локальную переменную с именем Groups и инициализирует ее с новым HashMap. [:] Сокращенно от Map в Groovy.

См. FX. эта статья, которая описывает код, который вы опубликовали: https://jenkins.io/blog/2016/06/16/parallel-test-executor-plugin/ и что он делает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...