Я пытаюсь получить информацию из скрипта groovy, расположенного в vars, который вызывается из класса Jenkins в общей библиотеке, но выдает ошибку.информация:
Нужен - файл глобальной конфигурации.аналогично Управление Jenkins -> Настройка системы -> Переменные среды
Цель - чтобы иметь возможность получать глобальные значения внутри разделяемой библиотеки без отправкипараметры из Jenkinsfile.
- Мое решение - я пытался использовать "vars / script.groovy", который работает для Jenkinsfile, но не внутри общей библиотеки.
структура файла
.
├── src
│ └── org
│ └── jenkins
│ └──shared_library.groovy
│── vars
│ └── globals.groovy
│
│── jenkinsfile.groovy
vars / globals.groovy
def my_global() {
return 'my_global_name'
}
класс shared_library
package src.org.jenkins
class shared_library implements Serializable {
private steps
shared_library(steps) {
this.steps = steps
}
def some_func(){
println globals.my_global
}
jenkinsfile
@Library 'shared_library'
import org.jenkins.shared_library
my_shared_library = new shared_library(steps)
node(){
stage('my_first_stage'){
println globals.my_global
}
stage('my_second_stage'){
println shared_library.some_func()
}
}
, поэтому я вижу значение для первого отпечатка в конвейере, но для второго я получаю:
Нет такого свойства: глобальные переменные для класса: src.org.jenkins.shared_library