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.