I need to check for the existence of a certain .exe file in my workspace as 
part of my pipeline build job. I tried to use the below Groovy script from 
my Jenkinsfile to do the same. But I think the File class by default tries 
to look for the workspace directory on jenkins master and fails.

@com.cloudbees.groovy.cps.NonCPS
def checkJacoco(isJacocoEnabled) {

new File(pwd()).eachFileRecurse(FILES) { it ->
if (it.name == 'jacoco.exec' || it.name == 'Jacoco.exec') 
isJacocoEnabled = true
}
}

How to access the file system on slave using Groovy from inside the 
Jenkinsfile? I also tried the below code. But I am getting No such 
property: build for class: groovy.lang.Binding error.  I also tried to use 
the manager object instead. But get the same error.

@com.cloudbees.groovy.cps.NonCPS
def checkJacoco(isJacocoEnabled) {

channel = build.workspace.channel 
 rootDirRemote = new FilePath(channel, pwd()) println 
"rootDirRemote::$rootDirRemote" rootDirRemote.eachFileRecurse(FILES) { it 
-> if (it.name == 'jacoco.exec' || it.name == 'Jacoco.exec') { println 
"Jacoco Exists:: ${it.path}" isJacocoEnabled = true } }
} 

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/4950c029-7ef6-4db4-b764-f62feb2394ab%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to