В чем разница между deleteDir, cleanWs и 'WsCleanup' в конвейере Jenkins? - PullRequest
0 голосов
/ 03 января 2019

Все они были упомянуты (например, в этом вопросе SO ) для очистки рабочего пространства в Jenkinsfile.

Из них deleteDir является наиболее часто упоминаемым, и, очевидно, остальные представляют собой просто разные синтаксисы для вызова подключаемого модуля очистки рабочей области Jenkins.

Какая функциональная разница? Что рекомендуется?

deleteDir()
cleanWs()
step([$class: 'WsCleanup'])

1 Ответ

0 голосов
/ 03 января 2019

Из официальной документации:

deleteDir : рекурсивно удалить текущий каталог из рабочей области. Рекурсивно удаляет текущий каталог и его содержимое. Символические ссылки и соединения не будут отслеживаться, но будут удалены. Чтобы удалить определенный каталог рабочей области, оберните шаг deleteDir в шаг dir.

Итак, deleteDir - это метод Основные шаги рабочего процесса Плагин (который является компонентом Плагин конвейера).

cleanWs : Удалить рабочее пространство после завершения сборки.

Кажется, что cleanWs() - это просто новая версия step([$class: 'WsCleanup']) из Плагин очистки рабочего пространства .

Итак, насколько я понимаю, между deleteDir и cleanWs есть небольшая разница: cleanWs имеет больше опций (например, cleanWhenAborted, cleanWhenFailure и т. Д.) И более гибок в использовании, но это Рекомендуется использовать только после завершения сборки (не уверен, сможем ли мы использовать его в начале выполнения сборки). С другой стороны, мы можем использовать шаг deleteDir, чтобы стереть рабочее пространство перед выполнением сборки.

...