ฉันกำลังจัดการงานจำนวนมากในเจนกินส์โดยปลั๊กอิน DSL ปลั๊กอินนั้นใช้คำจำกัดความ. govov ดังนั้นฉันคิดว่าถึงแม้บางคนไม่ได้ใช้ Jenkins แต่การใช้ Groovy อาจช่วยได้
โดยทั่วไปฉันต้องการสร้างไฟล์เพิ่มเติมซึ่งอาจเป็นไฟล์ Groovy, JSON หรือ YAML ไม่ว่าจะเป็นอะไรก็ตาม สิ่งสำคัญคือความเป็นไปได้ในการเชื่อมต่อไฟล์นั้นด้วยไฟล์. groovy ของฉัน
ในไฟล์นั้นฉันกำลังกำหนดตัวแปร (แทนที่จะเป็นแค่สตริง) เช่น IP address หรือสิ่งอื่น ๆ เช่น
ip_gitlab: 1.2.3.4
default_user: admin
ในไฟล์ Groovy ของฉันฉันต้องการใช้ตัวแปรเหล่านี้
วิธีการนั้นเป็นไปได้หรือเปล่า?
class GLOBAL{ def a=111; def b=222; }
เช่น จากนั้นในรหัสคุณควรจะสามารถเข้าถึงได้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'
ข้อผิดพลาดนี้เกิดขึ้นระหว่างการประมวลผลระดับ GLOBAL ของคุณ
static
คำนำหน้า class GLOBAL{ static def a=111; static def b=222; }
. แต่ข้อผิดพลาดที่คุณมีนั้นแปลก คุณสามารถแสดงตัวแปรที่คุณประกาศและวิธีใช้ใน dsl