Jenkins管道CleanWs()-模式删除

5w9g7ksd  于 2023-04-29  发布在  Jenkins
关注(0)|答案(1)|浏览(180)

目前正在处理jenkins pipelines和一个特定的案例,我只需要清理具有给定扩展名的文件(大多数时候它们都在一个特定的文件夹中)。

目录结构:

${WORKSPACE}/some_folders/folder_to_clean
我试过:

cleanWs deleteDirs: true, notFailBuild: true,
                patterns: [
                [pattern: '*.png', type: 'INCLUDE'],
                [pattern: '*.log', type: 'INCLUDE'],
                [pattern: '*.lock', type: 'INCLUDE'],
                [pattern: 'Result_*.tsv', type: 'INCLUDE'],
                [pattern: 'report.html', type: 'INCLUDE']
                ]

但它不起作用,没有文件被删除。然后我尝试用模式中的特定目录进行清理:

cleanWs deleteDirs: true, notFailBuild: true,
                patterns: [
                [pattern: '${WORKSPACE}/some_folders/folder_to_clean/*.png', type: 'INCLUDE'],
                [pattern: '${WORKSPACE}/some_folders/folder_to_clean/*.log', type: 'INCLUDE'],
                [pattern: '${WORKSPACE}/some_folders/folder_to_clean/*.lock', type: 'INCLUDE'],
                [pattern: '${WORKSPACE}/some_folders/folder_to_clean/Result_*.tsv', type: 'INCLUDE'],
                [pattern: '${WORKSPACE}/some_folders/folder_to_clean/report.html', type: 'INCLUDE']
                ]

但也不管用有没有什么方法可以用cleanWs()来实现,或者我应该尝试不同的方法?(我知道,应该使用cleanWs()来清理当前的工作空间,这样做是很好的做法,但在这种情况下,它需要留在节点上)

ffdz8vbo

ffdz8vbo1#

根据Workspace Cleanup插件文档,使用ant Directory scanner模式。另请参阅ant PatternSet手册页以获取示例。
这意味着您还需要匹配目录部分,使用“**”,即:**/*.ext .
您也可以删除整个目录,而不是只删除内容。

相关问题