Трубопроводы Дженкинса - ручная очистка рабочего пространства? - PullRequest
0 голосов
/ 10 октября 2018

Мы переходим с устаревшей установки Jenkins на новый сервер, где все планы являются декларативными конвейерами jenkinsfile ... однако, используя конвейеры, мы больше не можем вручную очищать рабочее пространство.Как настроить Jenkins, чтобы разрешить ручную очистку по требованию очистки рабочего пространства?

Я не хочу, чтобы рабочее пространство очищалось при каждом запуске - наше ужасное унаследованное приложение происходит из репо, который равен 1,7G в размере (!) И тянет вечно.Очистка при каждом запуске не является приемлемым вариантом.Я бы предпочел не использовать опцию «ssh в и удалить каталог вручную», потому что не все пользователи Jenkins имеют доступ по ssh.

Все существующие ответы, которые я нашел, включали либо «заставить это происходить каждый раз как часть конвейера», либо «запускать скрипт на сервере» - конечно, в графическом интерфейсе Jenkins есть способ сказать «убрать эту рабочую область, чтобы мы могли в следующий раз собрать "?

(мы можем просмотреть рабочую область с помощью (buildnum)> Шаги конвейера> Allocate Node: Start> Workspace, но не можем убрать его там)

1 Ответ

0 голосов
/ 10 октября 2018

Вы можете добавить параметр в конвейер:

properties([
  parameters([
    string(name: 'cleanWorkspace', defaultValue: 'false')
  ])
])

Затем в конвейере вызывать только deleteDir(), когда параметр передается как true:

if(params.cleanWorkspace == 'true') {
    deleteDir()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...