Jenkins, хранить провалившиеся билды определенное время

jenkins
Теги: #<Tag:0x00007fedbbfdc310>

(Пётр Алексеев) #1

В связи с тем, что запускается много selenium тестов, которые генерят картинки на каждом шаге, то созрела необходимость хранить результаты сборок как-то более экономно. Хочется реализовать такой вариант:
1) Успешные сборки хранить 2 дня
2) Провалившиеся сборки хранить 30 дней

Как это можно реализовать?
Пробовал использовать https://wiki.jenkins-ci.org/display/JENKINS/Discard+Old+Build+plugin , но он старый и не совсем корректно работает...


(Stan) #2

Решается скриптом в ~10 строчек на питоне или баше.
В зависимости от того как будет работать скрипт, пусть например ты его будешь запускать раз в час:
1) получаешь список всех билдов - статусов, например
https://ci.jenkins-ci.org/job/config-provider-model/api/json?tree=builds[fullDisplayName,id,number,timestamp,result]&pretty=true
2) берешь только за последние 60 минут
3) удаляешь все FAILED через другой эндпоинт -
https://ci.jenkins-ci.org/job/config-provider-model/1222/doDelete