我最近从Jenkins删除了2份工作(通过GUI)。当我之后登录奴隶时,我仍然看到那两个工作的工作空间。这种行为是否正常?
笔记:
- Jenkins master和slave都在Windows环境中运行。
- Master在Windows Server 2003上运行,从站在Windows Server 2008 R2上运行。
- 詹金斯版本是1.509.2
问候, Benil
我最近从Jenkins删除了2份工作(通过GUI)。当我之后登录奴隶时,我仍然看到那两个工作的工作空间。这种行为是否正常?
笔记:
问候, Benil
不幸的是: https://groups.google.com/forum/#!topic/jenkinsci-users/SiZ3DL-UJ-8
在从站上找到的工作空间不会被删除,因为这是一个非常重要的问题(这意味着作业需要记录作业从未执行过的每个从站,并且还必须考虑离线的从站,真正彻底解决方案)。
不幸的是: https://groups.google.com/forum/#!topic/jenkinsci-users/SiZ3DL-UJ-8
在从站上找到的工作空间不会被删除,因为这是一个非常重要的问题(这意味着作业需要记录作业从未执行过的每个从站,并且还必须考虑离线的从站,真正彻底解决方案)。
我刚刚写了一个脚本,可以定期安排来清理未使用的工作区。它将遍历所有Jenkins从属服务器并检查工作区下的目录是否已在Jenkins主服务器中删除。
要完善@oblio说的话
这意味着工作需要记录工作所执行的每个奴隶
构建 作业确实记录了他们运行的哪个奴隶,但是一段时间之后可以(并经常)删除构建。
它还必须考虑离线的奴隶
当然,这通常是由Jenkins核心内置的工作区清理功能处理的,因为它作为后台进程运行,处理当前在线从属(删除很少使用的工作区),所以任何奴隶都是 有时 在线最终将被清理。
问题是,此功能当前忽略了明显的工作空间,这些工作空间与运行时不存在的作业不对应,在保守的一面犯错误。 这是我的承诺 重写了清理线程以修复其他一些问题,但不是这个问题。
我遇到了一个有效的脚本,它可以很好地清理磁盘空间不足并使从站脱机时的清理: https://gist.github.com/rb2k/8372402