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.