2015-09-28 74 views
1

我們有一個Jenkins作業,其中生成了html報告並放置在工作區/報告中。我們一直在使用「Workspace Cleanup Plugin」,所以我們只能保留最後一份報告。我們希望保留過去X天內創建的報告並刪除舊報告。有沒有一種方法或插件可以自動執行此操作?在Jenkins工作區中刪除超過X天的文件

回答

2

這並不是東西放在工作的自己的工作區爲需要稍後訪問的存檔是個好主意。有人可能會最終清理工作區(無論是手動還是通過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

+0

感謝您的回答。由於我們並不關心數據(客戶只是想「看到更少的文件」,並且只能找到「最近10天內的報告」),我們跳過了插件安裝,只是添加了 find $ {WORKSPACE }/reports/-type f -mtime +10 -delete 在Execute shell的後續步驟中。 – ASPR

1

使用PeriodicBackupPlugin

它有助於定期取回數據備份,並具有一個BackupExecutor,用於檢查每個位置的現有備份,並刪除比配置中定義的X天數早的備份數。

查看圖像瞭解配置信息。

enter image description here

相關問題