Есть Jenkins, на котором имеется пачка билдов проекта.
Спустя какое-то время – появилось сообщение вида:
Jenkins: your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full
Проверяем диск с помощью ncdu
, и находим несколько джоб, которые отжирают много места, например:
[simterm]
root@jenkins-production:/data/jenkins# du -h --max-depth 1 jobs/ .. 25G jobs/APITests ...
[/simterm]
Кучу места занимают логи:
[simterm]
root@jenkins-production:/data/jenkins# ls -lh /data/jenkins/jobs/APITests/jobs/Projectname/jobs/Stage/jobs/ProjectnameStageAPItests/builds/551/log -rw-r--r-- 1 root root 77M Mar 1 12:49 /data/jenkins/jobs/APITests/jobs/Projectname/jobs/Stage/jobs/ProjectnameStageAPItests/builds/551/log
[/simterm]
И билдов много, и в каждой хранится такой лог.
Самый простой вариант – включить Discard Old Builds в настройке джобы:
Появилась она в 2.х, видимо, потому что когда-то, помнится, приходилось в Jenkins-файлах отдельно описывать очистку workdir.
Проверяем место сейчас:
[simterm]
root@jenkins-production:/data/jenkins# du -h --max-depth 1 jobs/APITests/jobs/Projectname/ 23G jobs/APITests/jobs/Projectname/jobs 23G jobs/APITests/jobs/Projectname/
[/simterm]
Сохраняем, запускаем новый билд, проверяем место теперь:
[simterm]
root@jenkins-production:/data/jenkins# du -h --max-depth 1 jobs/APITests/jobs/Projectname/ 7.0G jobs/APITests/jobs/Projectname/jobs 7.0G jobs/APITests/jobs/Projectname/
[/simterm]
Кроме того – существует плагин Discard Old Build, который позволяет использовать более тонкие настройки удаления старых данных.