Я использую плагин jenkins dsl для создания заданий jenkins для всех ветвей проекта. Когда ветка удаляется, плагин dsl также удаляет соответствующие задания jenkins.Удалить рабочее пространство, когда задание удалено плагином dsl
Проблема состоит в том, что рабочие пространства не удаляются вместе с заданиями, поэтому они в конечном итоге загромождают мой диск. Одним из найденных решений является периодическое перечисление всех рабочих областей и проверка того, существует или нет работа с одним и тем же именем.
Мне было интересно, есть ли, возможно, более элегантное решение для автоматического удаления устаревших рабочих пространств для заданий jenkins, которые только что были удалены плагином dsl.
Как насчет использования [Files.delete()] (http://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#delete-java.nio.file. Path-) вместе с [Прогулка по дереву файлов] (http://docs.oracle.com/javase/tutorial/essential/io/walk.html) из вашего DSL-кода? –
Это будет в основном одно и то же решение, так как мне придется вручную сравнивать рабочие пространства и задания. Выполнение этого вместе с DSL-кодом имеет еще один недостаток, поскольку устаревшие задания удаляются после выполнения сценария DSL ... Поэтому я бы не обнаружил их как удаляемых. Я думал о, например, сравнивая 'DescriptorImpl.getGeneratedJobMap()' с моим списком ветвей, хотя было бы намного круче, чтобы каким-то образом получить доступ к списку удаленных заданий напрямую. –