如何解决“延缓清除”选项在Jenkins Workspace Cleanup插件中究竟意味着什么?
Jenkins Workspace Cleanup插件是一种被广泛使用的插件,在过去的12个月中每月安装量超过20万。
困扰我的是它的“延迟清除”功能没有正确记录。我只能怀疑“延迟”的意思是异步的,因此它不会阻止节点/执行器,但我现在正在猜测。
如果它实际上是异步的,并且在同一节点和同一工作空间上计划了另一个作业,那么我们是否可以保证在新作业开始之前正确清理了该工作空间?
文档仅说明:
禁用递归擦除后,将使用文件系统内容删除的旧实现。 (...)
对于(例如,云)的开发人员来说,确保绝不要选择延迟擦除是一种有用的清除方法。
这是什么意思?在什么情况下永远不应使用延迟擦除?
有人能解释一下启用/禁用此选项(在某些用例中)的真正作用吗?
解决方法
延期清除意味着对您的构建进行的删除是异步的,即:
- 将工作空间目录重命名为临时目录名称,然后
- 启动背景任务以删除该临时目录。
(有关详细信息,请参见source code)。
对于大型工作区,删除可能会花费很长时间,因此这将减少构建时间。
当并行运行同一作业的多个内部版本时,Jenkins将自动选择特定于内部版本的工作空间名称(通过在工作空间目录中添加数字扩展名),因此不会干扰异步删除。
在具有按需创建和删除临时构建节点的云环境中,您可能会破坏仍在运行异步删除操作的节点,因此在这种情况下,您可能希望禁用该选项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。