Jenkinsの多くのジョブをDSLプラグインで管理しています。そのプラグインは.groovy定義を使用しているので、誰かがJenkinsを使用していなくても、groovyを使用すると役立つ場合があると思います。
一般的に、Groovyファイル、JSON、YAMLなど、追加のファイルを作成します。重要なのは、そのファイルを.groovyファイルに関連付ける可能性です。
そのファイルでは、たとえばアドレスIPなどの変数(文字列のみ)を定義しています。
ip_gitlab: 1.2.3.4
default_user: admin
私のgroovyファイルでは、これらの変数を使用できるようにしたいと考えています。
そのアプローチはグルービーで可能ですか?
もちろんそれは可能です。たとえば、groovy-lang.org / json.htmlがあります。
—
におい
DSLプラグインで追加のクラスパスを定義できる場合。次に、のようなクラスパスgroovyファイルに追加するフォルダーに配置します
—
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の私の構成 2. dsl処理中のエラーpostimg.cc/21F37jDs
—
rafal1337