Не нашли действительно чистого способа, который существует, но использование groovy изнутри Jenkins возможно более чистое, чем удаление из файловой системы за пределами Jenkins.
В этом примере groovy-скрипт удалит все журналы из сборок задания test_dummy, которые старше 180 дней.
import jenkins.model.*;
def days = 180
def jobName = "test_dummy"
def j = Jenkins.instance.getItemByFullName(jobName);
j.getBuilds().byTimestamp(1, System.currentTimeMillis() - (1000L * 60 * 60 * 24 * days)).each { it.getLogFile().delete(); it.getLogFile().createNewFile() }
Так получить работу, получить все строит для него в вашем диапазоне меток времени, а затем получить и удалить все файлы журналов. Я также собираюсь создать пустой файл на их месте, хотя я уверен, что если я углубился глубже, я мог бы найти способ просто обрезать до 0.
Использование Jenkins getJobNames(), вы можете получить все задания в Дженкинсе, а затем прокрутите их, если хотите. В зависимости от того, как вы делаете резервные копии, вы можете связать его, прежде чем делать резервные копии, чтобы сэкономить место.