Создать каталог Jenkins

Я хочу знать, есть ли плагин функции или конвейера, который позволяет создавать каталог в рабочей области вместо использования sh "mkdir directory"?

Я попытался использовать инструкцию groovy new File("directory").mkdirs(), но всегда возвращает исключение.

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: скриптам не разрешено использовать новый java.lang.RuntimeException java.lang.String

Ответ 1

Что вы можете сделать, это использовать шаг dir, если каталог не существует, то шаг dir создаст папки, необходимые после того, как вы напишете файл или что-то подобное:

node {
    sh 'ls -l'
    dir ('foo') {
        writeFile file:'dummy', text:''
    }
    sh 'ls -l'
}

Шаги sh находятся здесь, чтобы показать, что папка создана. Недостатком является то, что у вас будет фиктивный файл в папке (фиктивная запись не нужна, если вы собираетесь писать другие файлы). Если я запустил это, я получаю следующий вывод:

Started by user jon
[Pipeline] node
Running on master in /var/lib/jenkins/workspace/pl
[Pipeline] {
[Pipeline] sh
[pl] Running shell script
+ ls -l
total 0
[Pipeline] dir
Running in /var/lib/jenkins/workspace/pl/foo
[Pipeline] {
[Pipeline] writeFile
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
[pl] Running shell script
+ ls -l
total 4
drwxr-xr-x 2 jenkins jenkins 4096 Mar  7 22:06 foo
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS