Исходя из нашего опыта, лучше хранить артефакты в архиве вместе с заданием, а не полагаться на файлы, находящиеся в рабочей области, вместе с отдельным заданием для их очистки. Вы можете попросить Дженкинса отказаться от старых сборок (и артефактов) примерно так:
pipeline {
options {
buildDiscarder(logRotator(daysToKeepStr: '7', artifactDaysToKeepStr: '7'))
}
}
И любые задания (и их артефакты) будут очищены через 7 дней.
Если вы go с этим путем вы можете безопасно удалить любые png
файлы после архивации их как артефакты, и вам не нужно будет узнавать, какие новые, а какие старые.
В качестве альтернативы, вы можете заказать png
-производственный шаг для присвоения имен файлам, начинающимся с номера задания (доступно как env.BUILD_NUMBER
), и архивировать только файлы, начинающиеся с этого номера.
Наконец, вы можете запустить команду find
с помощью -name '*png'
и -mtime
предикат для создания списка недавно измененных png
файлов и использования его в качестве входных данных для этапа архивирования.