вары / test.groovy

я использую мою новую разделяемую библиотеку, я не могу получить доступ к переменным среды для любого класса src, который выполняется либо непосредственно Jenkinsfile, либо с помощью сценария var / *. Groovy. Эта проблема сохраняется, даже когда я добавляюwithEnv в var / * заводной скрипт.

Как можно заставить переменные среды распространяться на выполнение класса src совместно используемой библиотеки jenkins?

Jenkinsfile

withEnv(["FOO=BAR2"]) {
  println "Jenkinsfile FOO=${FOO}"
  library 'my-shared-jenkins-library'
  lib.displayEnv()

Общая библиотека var / lib.groovy

def displayEnv() {
  println "Shared lib var/lib FOO=${FOO}"
  MyClass c = new MyClass()
}

Общая библиотека src / MyClass.groovy

class MyClass() {
  MyClass() {
    throw new Exception("Shared lib src/MyClass  FOO=${System.getenv('FOO')")
  }
}

** Выполнить результат **

Jenkinsfile FOO=BAR
Shared lib var/lib FOO=BAR
java.lang.Exception: Shared lib src/MyClass FOO=null
...

Ответы на вопрос(4)

Ваш ответ на вопрос