【发布时间】:2019-08-13 03:09:42
【问题描述】:
我有一堆管道作业,但在执行时,一些工作区被保留,一些被删除。 jenkins 是如何做出这些决定的?
根据我目前的发现:
在节点上执行的所有作业都将保留其工作空间,例如
/home/ec2-user/workspaces/some-jobmaster 上的一些作品保留其工作区,但其他一些工作区在作业完成后消失。例如,在我的构建作业成功后,如果我在
ssh中可以看到它的工作区目录;但我所有的 e2e 工作都没有工作空间。
请注意,我的管道中没有使用任何clearWs、deleteDir 等。
顺便说一句,我正在研究工作区的原因是磁盘使用量不断增加,我想清理。我以为每次运行作业时都会覆盖工作区,但我多次收到“磁盘空间太低”警告。
【问题讨论】:
-
如果我没记错的话,每个分支都在工作区文件夹中,所以 5 个分支意味着存储中的项目是 5 倍。 Jenkins 不会自行删除此工作区。
-
@JustAProgrammer 感谢指出,但我的项目现在只有一个master分支。
-
您还可以检查作业的配置。如果在“构建后操作”中您保留了“构建完成后删除工作区”步骤。
-
@mkemmerz “Jenkins 不会自行删除此工作区”。那么,您的意思是詹金斯附带的功能最终会淹没您的磁盘空间吗?除非你手动整理它们,或者使用插件
-
@DavidLavender 是的,这是正确的。您的工作空间将简单地增长,直到它被填满。例如,Jenkins 提供了
CleanWs()(工作区清理插件),可以帮助您防止此问题。