nin*_*nja 7 groovy jenkins jenkins-pipeline
有人可以建议如何将外部 groovy 类加载到 Jenkinsfile 中吗?一般来说,我想通过构造函数传递参数来构建实例。下面的示例代码。
詹金斯文件
stage('Demo stage') {
//missing part
}
Run Code Online (Sandbox Code Playgroud)
工具.groovy
public class Demo {
String message;
Demo(String message) {
this.message=message;
}
public void print(def script) {
script.sh "echo " + message
}
}
Run Code Online (Sandbox Code Playgroud)
如果您的外部 groovy 文件位于 JenkinsFile 所在的同一存储库中,您可以简单地使用“load”,如下所示
mytools = load 'Tools.groovy'
Run Code Online (Sandbox Code Playgroud)
如果它在另一个仓库中,则需要在加载 groovy 文件之前签出 scm,如下所示
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']]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8848 次 |
| 最近记录: |