2016-11-18 153 views
0

任何人都可以建議如何加載外部groovy類到Jenkinsfile? 一般來說,我想通過構造函數傳遞參數來構建實例。 下面的示例代碼。Jenkins管道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所在,你可以簡單地使用 「負載」 同一個資源庫在下面顯示

mytools = load 'Tools.groovy' 

如果它在另一個回購時,需要加載常規文件,如下

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類加載器。

相關問題