试图从jenkinsfile访问文件系统

时间:2017-08-06 15:47:50

标签: jenkins groovy jenkins-pipeline

我正在尝试使用groovy从Jenkinsfile访问文件系统。我正在遵循这个SO线程中的建议: Recursive listing of all files matching a certain filetype in Groovy

我已经可以访问

Dim arValues
arValues = Array("CCYN", "EOTN", "EOTH", "CCYV")

...

If vOverfly(arrayIndex, 10) <= 0 And _
  IsNumeric (Application.match(vOverfly(arrayIndex, 7), arValues, 0)) _ 
  And Trim(vOverfly(arrayIndex, 3)) <> "--" Then
    resultCounter = resultCounter + 1
脚本批准下的

但是这行没有出现错误消息:

new java.io.File java.lang.String
staticField groovy.io.FileType FILES

这是更广泛的代码块:

new File('.').eachFileRecurse(FILES) {

以下是该部分的控制台输出:

stage("Install") {
  print "here a"
  new File('.').eachFileRecurse(FILES) {
    print "here c"
    if(it.name.endsWith(".sh")) {
      print "here d"
      println it
    }
  }
  print "here b"

1 个答案:

答案 0 :(得分:2)

更好地使用findFiles步骤而不是Java API来读取文件。这是脚本安全性的白名单。

each循环因为Jenkins&#39;而无法正常工作。 CPS。相反(如果你真的更喜欢它而不是旧的for循环),请将其包装在用@NonCPS注释的方法中。