Jenkinsfile 你如何加载一个groovy文件并执行它


I have a jenkinsfile dropped into the root of my project and would like to pull in a groovy file for my pipeline and execute it. The only way that I've been able to get this to work is to create a separate project and use the fileLoader.fromGit command. I would like to do

def pipeline = load 'groovy-file-name.groovy'
pipeline.pipeline()
解决方案

If your JenkinsFile and groovy file in one repository and JenkinsFile is loaded from SCM you have to do:

Example.Groovy

def exampleMethod() {
    //do something
}

def otherExampleMethod() {
    //do something else
}
return this

JenkinsFile

node {
    def rootDir = pwd()
    def example = load "${rootDir}@script/Example.Groovy "
    example.exampleMethod()
    example.otherExampleMethod()
}
 

我有一个jenkinsfile放到我的项目的根目录下,并且希望为我的管道提供一个groovy文件并执行它。我能够得到这个工作的唯一方法是创建一个单独的项目并使用fileLoader.fromGit命令。我想要做的是

def pipeline = load'groovy-file-name.groovy'
pipeline.pipeline()

解决方案

如果您的JenkinsFile和groovy文件在一个存储库中,并且JenkinsFile从SCM加载,您必须这样做:

Example.Groovy


$ b

 def exampleMethod(){
//做某事
}

def otherExampleMethod(){
//做别的事
}
返回这个

$ b

JenkinsFile $ b

 节点{
def rootDir = pwd()
def example = load"${rootDir}@script/Example.Groovy"
example.exampleMethod()
example.otherExampleMethod()
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM