Jenkins + Groovy: nem találja a létező fájlt

Probléma: A Jenkins nem tudja beolvasni azt a fájlt, amiről biztosan tudod, hogy létezik.

Jenkins ikon
Jenkins ikon

Probléma: A Jenkins nem tudja beolvasni azt a fájlt, amiről biztosan tudod, hogy létezik.

Ugyanis megnézted magán a build agent-en és ott van a fájl, a fileExists("<fájl>") látja és az sh "stat <fájl>" is mutatja.

De mégsem tudod beolvasni, mert

java.io.FileNotFoundException: <fájl> (No such file or directory)

hibaüzenetet kapsz.

Megoldás:

Alapértelmezetten Jenkinsben minden Groovy script a Grovvy sandboxban fut, ahol bizonyos utasítások nem érhetőek el.

Gyanítom, hogy a fájlod beolvasását new File("<fájl>") hívással próbálod. Ez nem engedélyezett a sandboxban.

Helyette a readFile "<fájl>" utasítás használható.

u.i.: sokszor elsiklunk afelett, hogy egy jó program nem csak jól működik, de informatív és használható hibaüzeneteket is generál. A Jenkins sajnos nem ilyen.