Удалите видеофайлы из архивов старых сборок на этапах конвейера Jenkins - PullRequest
0 голосов
/ 11 декабря 2018

Мне нужно перебрать папки сборок 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")
    }
}
  1. Есть ли лучший способ найти папки последних сборок вместо использования команды find в sh step?
  2. Я нашел шаг zip в плагине Pipeline Utility Steps, но, похоже, он не имеет эквивалента -d zip-флага?

Как лучше всего решить эти задачи?Заранее спасибо.

...