我试图做一个jenkins管道作为代码.我正在使用Github组织文件夹插件来扫描Github组织并为每个分支创建作业.有没有办法明确定义从Jenkinsfile获取的管道作业的名称?我还想为这些工作添加一些描述.
作为管道构建工作的一部分,我需要检查工作区中是否存在某个.exe文件.我尝试使用我的Jenkinsfile中的下面的Groovy脚本来做同样的事情.但我认为File类默认尝试在jenkins master上查找workspace目录并失败.
@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
}
}
Run Code Online (Sandbox Code Playgroud)
如何在Jenkinsfile中使用Groovy访问slave上的文件系统?
我也试过下面的代码.但我收到了No such property: build for class: groovy.lang.Binding
错误.我也尝试使用manager对象.但得到同样的错误.
@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
}
}
Run Code Online (Sandbox Code Playgroud)