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/2b1f6b39-a429-4ea4-ab81-d532561e7065%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to