Zarządzam wieloma zadaniami w Jenkins przez wtyczkę DSL. Ta wtyczka używa definicji .groovy, więc myślę, że nawet jeśli ktoś nie używa Jenkinsa, ale używa groovy, może ci pomóc.
Zasadniczo chcę utworzyć dodatkowy plik, którym może być plik groovy, JSON lub YAML, cokolwiek. Ważna jest możliwość połączenia tego pliku z moim plikiem .groovy.
W tym pliku definiuję zmienne (raczej tylko ciągi znaków), na przykład adres IP lub inne rzeczy, np.
ip_gitlab: 1.2.3.4
default_user: admin
W moich groovy plikach chcę móc korzystać z tych zmiennych.
To podejście jest możliwe w groovy?
class GLOBAL{ def a=111; def b=222; }
. wtedy w kodzie powinieneś mieć do niego dostępGLOBAL.a
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'org.codehaus.groovy.runtime.InvokerHelper$1@641eff69' with class 'org.codehaus.groovy.runtime.InvokerHelper$1' to class 'javaposse.jobdsl.dsl.JobParent'
Ten błąd występuje podczas przetwarzania twojej klasy GLOBAL
static
prefiks. class GLOBAL{ static def a=111; static def b=222; }
. ale twój błąd jest dziwny. czy możesz pokazać zadeklarowaną zmienną i sposób jej użycia w dsl.