Как создать глобальную функцию в разделяемой библиотеке Jenkins - PullRequest
0 голосов
/ 26 апреля 2019

Я пишу общую библиотеку для Дженкинса и сталкиваюсь с некоторыми организационными проблемами.

У меня есть несколько конвейерных сценариев в var, но я обнаружил, что есть несколько повторяющихся функций, и код не очень сухой.

Одним из решений для этого было создание вспомогательных функций внутри var, таких как var / log.groovy, var / formatter.groovy. Это работало нормально, и я вызывал эти функции из моих конвейерных скриптов, таких как var / myPipeline.groovy.

Я просто хотел бы немного лучше организовать свою папку var и сохранить мои вспомогательные функции, например, в var / utils / log.groovy.

Проблема в том, что я не уверен, как получить к ним доступ из моих конвейерных скриптов внутри var, когда я помещаю их в подкаталог.

Как я могу получить к ним доступ? Или есть лучший способ организовать мои глобальные функции?

1 Ответ

1 голос
/ 26 апреля 2019

Вы можете поместить их в src в структуру пакета, которая имеет организационный смысл. Они импортируют правильные вещи в ваши скрипты var.

в /src/com/yourco/Formatter.groovy

package com.yourco

class Formatter {
  def static String formatThis(String something) {
    "this is ${something}"
  }
}

В вашем вар

import com.yourco.Formatter
..
..
..
   echo Formatter.formatThis('test')
...