Dan*_*sey 4 groovy continuous-integration jenkins
我在Jenkins主服务器上运行以下脚本
def workspace = pwd()
def sourceDir = new File(workspace)
println "Files: Traverse"
sourceDir.traverse(type: FileType.FILES, nameFilter: ~/.*\.cpp/) {
println it.path
}
Run Code Online (Sandbox Code Playgroud)
这仅返回一个文件:
[Pipeline] pwd
[Pipeline] echo
Files: Traverse
[Pipeline] echo
/var/lib/jenkins/workspace/job/project/Source/A/a.cpp
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Run Code Online (Sandbox Code Playgroud)
我已确认工作区包含所需的所有文件,我正在使用Jenkins v1.651.2
这可能与以下错误有关:https : //issues.jenkins-ci.org/browse/JENKINS-26481
解决方法是使用@NonCPS辅助方法,例如:
@NonCPS
def traverseHelper() {
new File(pwd()).traverse(type: FileType.FILES, nameFilter: ~/.*\.cpp/) {
println it.path
}
}
println "Files: Traverse"
traverseHelper()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1397 次 |
| 最近记录: |