Jenkins pipeline de créer un répertoire
Je veux savoir si il existe une fonction ou d'un pipeline plugin qui permet de créer un sous-répertoire de l'espace de travail au lieu d'utiliser sh "mkdir directory"
?
J'ai essayé d'utiliser groovy instruction new File("directory").mkdirs()
mais il retourne toujours une exception.
org.jenkinsci.les plugins.scriptsecurity.bac à sable.RejectedAccessException: Scripts qui ne sont pas autorisés à utiliser de nouvelles java.lang.RuntimeException java.lang.Chaîne
L'exception est levée, car vous devez explicitement liste blanche qui script/module: jenkins.io/doc/livre/gestion/script-approbation
OriginalL'auteur black4bird | 2017-03-07
Vous devez vous connecter pour publier un commentaire.
Ce que vous pouvez faire est d'utiliser la
dir
étape, si le répertoire n'existe pas, alors ladir
étape sera de créer les dossiers nécessaires une fois que vous écrivez un fichier ou similaires:La
sh
étapes est juste là pour montrer que le dossier est créé. L'inconvénient est que vous aurez un fichier fictif dans le dossier (le mannequin d'écrire n'est pas nécessaire si vous allez écrire d'autres fichiers). Si je l'exécute j'obtiens le résultat suivant:dir
peut être une instruction vide, mais vous n'avez pas à créer un fichier - j'ai juste signalé le répertoire courant pour l'enregistrement.Fait quelques tests, non, il ne peut pas. Semble que le répertoire est créé lorsque vous utilisez une étape qui nécessite le fichier de contexte, sh, writeFile, etc... Donc si vous n'utilisez echo et d'autres non-nœud nécessitant des mesures, puis le répertoire ne sera pas créé.
Ah j'ai été en utilisant
sh 'echo $(pwd -P)'
de se connecter où le répertoire est 🙂OriginalL'auteur Jon S