在Jenkins管道步骤中从旧版本的存档中删除视频文件

时间:2018-12-11 10:30:20

标签: jenkins groovy zip jenkins-pipeline

我需要遍历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命令?
  2. 我在Pipeline Utility Steps插件中找到了一个zip步骤,但似乎没有与-d zip标志等效的步骤?

解决这些任务的最佳解决方案是什么?预先感谢。

0 个答案:

没有答案