Zugriff auf Dateien auf einem slave-Knoten von Jenkins-master mit Groovy

Ich bin mit dem Jenkins Build-Flow-plugin zu erreichen, Parallelisierung. Die Groovy-DSL bestimmte Datei-Operationen. Obwohl die option Restrict where this project can be run eingestellt ist, um die Arbeit auf einem bestimmten slave, der DSL läuft auf master. Dies ist nicht beabsichtigt.

Könnte mir jemand sagen, wie ich einschränken kann, das DSL laufen auf den angegebenen slave? Selbst wenn es einen Weg gibt, können wir auf die slave-Datei-system über DSL, das sollte funktionieren.

Im Allgemeinen, wie können wir den Zugriff auf Dateien auf einem slave-Knoten von Jenkins-master mit Groovy?

def fp = new hudson.FilePath(build.workspace.channel, "/srv/jenkins/workspace/myworkspace_on_slave_node")
assert fp.exists()      //returns true :)

def ant = new AntBuilder()

if (fp != null) {
  def scanner = ant.fileScanner {    //fails here :(, says /srv/jenkins/workspace/myworkspace_on_slave_node not found
    //grab ALL files requested to be run
    fileset(dir: "$fp", includes: "**/*.java")
  }

  //now lets iterate over - print - and count test files
  int numFiles = 0
  for (f in scanner) {
    println("Found file $f")    
    numFiles++
  }
  println("Total files $numFiles")
}

Arbeitsbereich gibt es auf der slave-Knoten, aber der obige code ist fehlerhaft, wenn ich versuche, öffnen Sie das FileSet auf dem remote-FilePath.

InformationsquelleAutor naspras | 2015-08-03
Schreibe einen Kommentar