已提及所有这些内容(例如in this SO question)以清理Jenkinsfile
中的工作区。
在这些变量中,deleteDir
是最常被提及的,显然其他变量只是调用Jenkins Workspace Cleanup插件的不同语法。
功能上有什么区别?推荐哪个?
deleteDir()
cleanWs()
step([$class: 'WsCleanup'])
答案 0 :(得分:4)
摘自官方文档:
deleteDir:从工作空间中递归删除当前目录。 递归删除当前目录及其内容。符号链接和结点将不被遵循,但将被删除。要删除工作区的特定目录,请将deleteDir步骤包裹在dir步骤中。
因此,deleteDir
是Workflow Basic Steps插件(它是管道插件的组件)的一种方法。
cleanWS:构建完成后删除工作区。
似乎cleanWs()
只是Workspace Cleanup Plugin中step([$class: 'WsCleanup'])
的新版本。
因此,据我所知,deleteDir
和cleanWs
之间略有不同:cleanWs
有更多选择(例如cleanWhenAborted
,cleanWhenFailure
等)。 ),使用起来更灵活,但建议仅在构建完成后使用(不确定在构建执行开始时是否可以使用它)。另一方面,我们可以使用deleteDir
步骤在构建执行之前擦除工作空间。