Je veux imprimer la taille des répertoires de mon JenkinsnodesObtenir la taille de workspacedirectories de Jenkinsnodes via le script
Mon script:
import hudson.node_monitors.*
import hudson.slaves.*
import Jenkins.*
jenkins = Jenkins.instance
for (slave in jenkins.nodes) {
wsRoot = slave.getWorkspaceRoot()
println("Nodename: " + slave.getNodeName())
for (dir in wsRoot.list()) {
println("---------------------------------------------------------")
println(" dirname: " + dir)
println(" dirspace: " + dir.length() )
}
}
Mais avec ce script je reçois la taille « 0 » (si dir est vide) ou "4096" pour un dir qui est 28mb.
J'essaie la même chose avec fichier
for (dir in wsRoot.list()) {
println("-------------------------------------------------------")
println(" dirname: " + dir)
File DirFiles = new File(dir.toString())
def sampleDirSize = DirFiles.directorySize()
println(" DirSpace: " + sampleDirSize )
}
Mais ici j'obtiens l'erreur:
java.io.FileNotFoundException: /home/jenkins/C:\Jenkins-Slave\jars\workspace\Testprojekt
Parce que le maître est un Linuxserver et quelques noeuds d'un Windowsservers qui créent une mauvaise emplacementfichier.
Existe-t-il une solution pour afficher la taille de dir correcte en mb pour tous les nœuds?