私はメソッドを定義することができましたが、Jenkins共有ライブラリを使用して変数を定義することは、これまで未解決の問題でした。jenkins共有ライブラリを使用して変数を定義するにはどうすればよいですか?
私はこの体
def call() {
return true
}
そして今Jenkinsfile内部で/vars/True.groovy
を追加し、私は期待通りに動作するかどうかをテストしてみました:それはtrue != class True
を考慮して
println "evaluation ${ true == True }"
しかし、驚き、これは失敗します。私の印象は、true == True()
が動作するかもしれないが、それはポイントではない、その全目的は、間違ったケースを使っている人々によって引き起こされたいくつかのエラーを避けることだったので、本当の変数が必要である。
だから、魔法は何ですか?
'vars'はおそらくシングルトンとしてインスタンス化されています。私はそれらが何らかの名前で結ばれると思います。ドキュメンテーションは、グローバル変数を定義する方法があるはずであることを暗示しているようですが、私は魔法のトリックが何であるか分かりません。私が思う 'call()'定義はメソッドとしてコンパイルされているので、そのアプローチはうまくいくとは思えませんが、 'class TrueはSerializable {// some equals()定義とstuff}を実装します。作業。しかし、あなたが言ったように、キャスティングが必要な魔法のJenkinsの呪文があります。 – mkobit