Я использую Jenkins и использую общую библиотеку для нескольких репозиториев.
Иногда я запускаю ветку разработки в библиотеке, связанную с веткой разработки в репозитории.
Я пытаюсь добиться следующего:
- В файле jenkins хранилища с использованием библиотеки
- Если в хранилище общей библиотеки существует ветвь с тем же именем, что и у текущей ветви, то извлеките эту версию библиотеки
- Иначе, проверка версии по умолчанию
Что выглядит так:
def library
try{
library = library("foolib@" + this.env.BRANCH_NAME)
echo "Perfectly loaded library"
}
catch(err){
echo "Error loading library"
library = library("foolib") //Error occurs here
}
Однако это неверно:
java.lang.NullPointerException: Невозможно вызвать вызов метода () для нулевого объекта
Я уже делаю что-то вроде этого, на самом деле в файле библиотеки jenkins:
def lib = library ("foolib @ $ {env.BRANCH_NAME}")
И все работает отлично. Мне просто нужно использовать это в условном выражении (следовательно, попытка перехвата, поскольку у меня нет простого способа узнать, существует ветвь или нет)
Могу ли я решить эту проблему?