Tôi đang quản lý nhiều công việc trong Jenkins bằng plugin DSL. Plugin đó đang sử dụng các định nghĩa .groovy vì vậy tôi nghĩ ngay cả khi ai đó không sử dụng Jenkins nhưng sử dụng Groovy có thể giúp ích.
Nói chung, tôi muốn tạo một tệp bổ sung, đó có thể là tệp Groovy, JSON hoặc YAML, bất cứ điều gì. Điều quan trọng là khả năng kết nối tệp đó với tệp .groovy của tôi.
Trong tệp đó, tôi đang xác định các biến (chứ không chỉ là chuỗi) ví dụ địa chỉ IP hoặc các thứ khác, vd.
ip_gitlab: 1.2.3.4
default_user: admin
Trong các tệp Groovy của tôi, tôi muốn có thể sử dụng các biến này.
Cách tiếp cận đó là có thể trong Groovy?
class GLOBAL{ def a=111; def b=222; }
. sau đó trong mã bạn sẽ có thể truy cập nóGLOBAL.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'
Lỗi này xảy ra trong quá trình xử lý lớp GLOBAL của bạn
static
tiền tố. class GLOBAL{ static def a=111; static def b=222; }
. nhưng lỗi bạn có là lạ. bạn có thể hiển thị biến bạn đã khai báo và cách bạn sử dụng nó trong dsl.