DSL 플러그인으로 Jenkins의 많은 작업을 관리하고 있습니다. 그 플러그인은 .groovy 정의를 사용하므로 누군가 Jenkins를 사용하지 않지만 groovy를 사용하는 것이 도움이 될 수 있다고 생각합니다.
일반적으로 그루비 파일, JSON 또는 YAML 등 추가 파일을 만들고 싶습니다. 해당 파일을 내 .groovy 파일과 연결할 수있는 가능성이 중요합니다.
이 파일에서 주소 IP 또는 다른 것들과 같은 변수 (문자열이 아닌)를 정의하고 있습니다.
ip_gitlab: 1.2.3.4
default_user: admin
내 groovy 파일에서 이러한 변수를 사용할 수 있기를 원합니다.
그 접근은 그루비에서 가능합니까?
물론 가능합니다. 예를 들어 groovy-lang.org/json.html이 있습니다.
—
smelm
DSL 플러그인에서 추가 클래스 경로를 정의 할 수있는 경우 그런 다음 클래스 경로 그루비 파일에 추가 할 폴더에 넣습니다
—
daggett
class GLOBAL{ def a=111; def b=222; }
. 코드에서 액세스 할 수 있어야합니다GLOBAL.a
@ daggett 나는 당신이 쓰고있는
—
rafal1337
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'
동안 항상 오류가 발생했습니다 : 이 오류는 클래스 GLOBAL을 처리하는 동안 발생합니다
나는 잊었다. 정의 된 각 변수마다
—
daggett
static
접두사 가 있어야합니다 . class GLOBAL{ static def a=111; static def b=222; }
. 그러나 당신이 가진 오류는 이상합니다. 선언 한 변수와 dsl에서 어떻게 사용하는지 보여줄 수 있습니까?
1. DSL의 내 구성 postimg.cc/TLHK5k6h DSL 처리 중 2. 오류 postimg.cc/21F37jDs
—
rafal1337