在 Jenkins 工作区中删除早于 X 天的文件
Delete files older than X days in Jenkins workspace
我们有一个 Jenkins 作业,其中生成 html 报告并放置在 workspace/reports 中。我们一直在使用 "Workspace Cleanup Plugin" 所以我们只能保留最后的报告。我们想保留过去 X 天创建的报告并删除旧的报告。有没有办法或插件可以自动执行此操作?
有一个Configuration Slicing Plugin可以帮助你
将某些东西作为需要稍后访问的存档放入作业自己的工作区不是一个好主意。有人最终可能会清理工作区(手动或通过 jenkins 预构建或 post-构建步骤),您所有宝贵的数据和统计数据都将消失。
我建议使用不同的目录发布报告,然后 运行 在其中手动清理。您也可以定义 Jenkins 全局参数(plugin),例如 REPORT_ROOT=/home/${USER}/reports
,并在作业配置中使用它来将 html 报告保存到 ${REPORT_ROOT}/${JOB_NAME}
如果没有为每个单独的报告创建父目录,您需要 运行 find ${REPORT_ROOT} -type f -mtime +2 -delete
进行清理。这可以是 运行 在单独的作业中,或者作为发布 html 报告的作业的子项目,或者在作业本身中。 -mtime +2
表示超过 2 天。
如果每个构建都有自己的 html 报告目录,那么清理工作将是 find ${REPORT_ROOT}/${JOB_NAME} -type d -mtime +2 -delete
它有助于定期取回数据备份,并且有一个 BackupExecutor 将检查每个位置的现有备份并删除数量超过配置中定义的 X 天数的备份。
查看图片了解配置信息。
我们有一个 Jenkins 作业,其中生成 html 报告并放置在 workspace/reports 中。我们一直在使用 "Workspace Cleanup Plugin" 所以我们只能保留最后的报告。我们想保留过去 X 天创建的报告并删除旧的报告。有没有办法或插件可以自动执行此操作?
有一个Configuration Slicing Plugin可以帮助你
将某些东西作为需要稍后访问的存档放入作业自己的工作区不是一个好主意。有人最终可能会清理工作区(手动或通过 jenkins 预构建或 post-构建步骤),您所有宝贵的数据和统计数据都将消失。
我建议使用不同的目录发布报告,然后 运行 在其中手动清理。您也可以定义 Jenkins 全局参数(plugin),例如 REPORT_ROOT=/home/${USER}/reports
,并在作业配置中使用它来将 html 报告保存到 ${REPORT_ROOT}/${JOB_NAME}
如果没有为每个单独的报告创建父目录,您需要 运行 find ${REPORT_ROOT} -type f -mtime +2 -delete
进行清理。这可以是 运行 在单独的作业中,或者作为发布 html 报告的作业的子项目,或者在作业本身中。 -mtime +2
表示超过 2 天。
如果每个构建都有自己的 html 报告目录,那么清理工作将是 find ${REPORT_ROOT}/${JOB_NAME} -type d -mtime +2 -delete
它有助于定期取回数据备份,并且有一个 BackupExecutor 将检查每个位置的现有备份并删除数量超过配置中定义的 X 天数的备份。
查看图片了解配置信息。