Мне нужно перебрать папки сборок Jenkins, найти папки, в которых хранятся архивы отчетов .zip, и удалить видеофайлы из этих архивов (в моем случае установка количества сохраняемых сборок недостаточна).
Я придумал это решение, которое на самом деле работает, но выглядит ужасно:
def buildFolders = sh(returnStdout: true, script: "find [0-9]* -maxdepth 0 -type d").split("\\s+")
for (def folder in buildFolders) {
if (folder.trim().toInteger() < (env.BUILD_NUMBER.toInteger() - recentBuildsWithVideoCount)) {
sh(returnStdout: true, script: "zip -dq ${folder}/archive/allure-report.zip allure-report/data/*.avi || true")
}
}
- Есть ли лучший способ найти папки последних сборок вместо использования команды
find
в sh
step? - Я нашел шаг
zip
в плагине Pipeline Utility Steps, но, похоже, он не имеет эквивалента -d
zip-флага?
Как лучше всего решить эти задачи?Заранее спасибо.