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()
Usage. To create Groovy-based project, add new free-style project and select "Execute Groovy script" in the Build section, select previously configured Groovy installation and then type your command, or specify your script file name.
In Jenkinsfile, simply use load step to load the Groovy script. After the Groovy script is loaded, the functions insides can be used where it can be referenced, as shown above.
The Jenkins file is a base code for Jenkins which executes it as a Groovy script in Jenkins script console.
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 exampleModule = load "${rootDir}@script/Example.Groovy " exampleModule.exampleMethod() exampleModule.otherExampleMethod() }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With