2016-11-18 9 views
0

Jenkinsfileに外部Groovyクラスをロードする方法についてアドバイスできますか? 一般に、コンストラクタを介してパラメータを渡すことによってインスタンスを構築したいと考えています。 以下のサンプルコード。ジェンキンスパイプラインJenkinsfile外部groovyクラスをロード

Jenkinsfile

stage('Demo stage') { 
    //missing part 

} 

Tools.groovy

public class Demo { 
    String message; 

    Demo(String message) { 
     this.message=message; 
    } 


    public void print(def script) { 
     script.sh "echo " + message 
    } 

}

答えて

0

外部グルーヴィーなファイルがJenkinsFileあなたは単に "負荷" を使用することができ常駐同じリポジトリにある場合下に表示されます

210は、その別のレポでいる場合、あなたはで

checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'jenkins-scripts']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '******', url: 'https://github.com/jenkins_scripts.git']]] 
1
mytools = load 'Tools.groovy' 
public class Demo { 

} 
return new Demo() ; 

以下のようにグルーヴィーなファイルをロードする前に、SCMをチェックアウトする必要があなたのTools.groovyあなたがしようとしているので、あなたは... return文を持っている必要がありますクラス内で関数を呼び出すと、最後に新しいDemo()を返さなければなりません。これはオブジェクトの参照をmytoolsに返します。

これに加えて、groovyクラスローダーをいつでも使用できます。

関連する問題