我知道我可以使用cleanWs()或deleteDir()从Jenkins管道中清理单个工作区。
但是,当管道运行使用多个工作区时,如何处理这种情况?我们首先在使用多个工作空间的管道中使用隐藏和取消隐藏时发现了这个问题。我们注意到,在取消隐藏之后,我们看到的文件数量不一致-很明显,该文件来自较早版本的应用程序。我们在post块中使用cleanWs():
post {
always {
cleanWs()
}
}
我相信,我们所看到的是,只有在调用cleanWs()发生时处于“活动”状态的工作空间才被删除。其他的则保留下来,并在以后的管道运行中重新使用。这迫使我们在运行过程中要特别小心,因为我们永远不知道自己是否在干净的工作空间内。
查看与管道运行相关的工作空间链接似乎可以证实这一点-第一个链接始终是无效的,但其他链接仍然存在,并且URL显然已在多个管道运行中使用。
是否可以删除与管道运行相关的所有所有工作区?