如何在Jenkins声明式流水线中用cleanWS清理指定天数前的文件?
使用Jenkins cleanWS插件实现指定目录的清理(声明式流水线)
针对你的需求,以下是改用cleanWS插件的声明式流水线实现,符合Unix团队的要求:
pipeline { agent { label "${params.agent}" } stages { stage('工作区清理') { steps { cleanWs( workspace: "/jenkins/${params.folder}", deleteDirs: true, patterns: [ [type: 'INCLUDE', pattern: '**/*', age: "${params.days}d"] ] ) } } } }
关键说明:
workspace: "/jenkins/${params.folder}":指定要清理的目标目录,替换你原命令中的路径deleteDirs: true:允许删除符合条件的目录(如果只需要删除文件,可将此参数设为false)patterns:定义具体的清理规则:type: 'INCLUDE':表示匹配到的文件/目录会被执行删除操作pattern: '**/*':匹配目标目录下所有文件及子目录age: "${params.days}d":仅筛选修改时间早于指定天数的内容(d代表天,也可使用h表示小时)
注意事项:
- 确保执行流水线的Agent用户对
/jenkins/${params.folder}目录有读写权限 - 验证cleanWS插件版本与Jenkins 2.289.3兼容(该版本Jenkins支持cleanWS插件的最新稳定版)
- 建议先在测试环境验证规则,避免误删重要内容
内容的提问来源于stack exchange,提问作者Parul Saksena
相关产品推荐
相关产品推荐

