如何解决jenkins'磁盘空间太低'的问题?

Eas*_*son 34 diskspace hudson centos jenkins

我在我的CentOS机器中部署了Jenkins,Jenkins工作了3天,但是昨天有一个'磁盘空间太低了.仅剩1.019GB.问题.

如何解决这个问题,让我的主人离线数小时?

ors*_*har 24

您可以轻松地从jenkins UI更改阈值(我的版本是1.651.3):

[jenkins节点阻止监控页面]


更新:如何确保高磁盘空间

此功能旨在防止在具有较低可用磁盘空间的从站上工作.降低阈值并不能解决一些工作在完成后没有正确清理的事实.

取决于您正在构建的内容:

  1. 确保您了解构建的磁盘输出 - 如果可能 - 将输出限制为仅发生在作业工作区.使用工作区清理插件工作区清理为后期构建步骤.
  2. 如果进程必须将一些数据写入外部文件夹 - 在后构建步骤中手动清理它们.

Alternative1 - 为每个作业提供一个新的从站(使用现场从站 - 有许多插件可以与不同的云提供商集成,以便按需提供飞行中的机器)

Alternative2 - 在容器内运行构建.一旦构建完成,一切都将被丢弃

  • 啊,我在看 [节点名称] > 配置。您描述了节点 > 配置。nvm https://imgur.com/a/CeTcA (3认同)
  • @orshachar 谢谢伙计!改变阈值确实对我有帮助。由于节点在下降时会离线,因此进行更改使我可以将它们恢复并修复一些问题。感谢您更新的答案:) (2认同)

小智 15

除了上述解决方案之外,还有一种更"常见"的方式 - 直接从Linux机器中删除最大的空间使用者.您可以按照以下步骤操作:

  1. 登录Jenkins机器(Putty)
  2. cd到Jenkins安装路径

使用ls -lart来列出隐藏的文件夹还,通常詹安装放置在.jenkins /文件夹

[xxxxx~] $ ls -lart

drwxrwxr-x 12 xxxx 4096 Feb 8 02:08 .jenkins /

  1. 列出文件夹空间

使用df -h显示在高级别磁盘空间

du -sh ./*/ 列出当前路径中每个子文件夹的总内存.

du -a /etc/ | sort -n -r | head -n 10 将列出在/ etc /中占用磁盘空间的前10个目录

  1. 删除旧版本或其他大型文件夹

在此输入图像描述

通常./job/文件夹或./workspace/文件夹可以是最大的文件夹.请进入内部并根据需要删除(不要删除整个文件夹).

rm -rf theFolderToDelete


小智 7

您可以通过丢弃旧版本来限制磁盘空间的减少.在项目配置中有一个复选框.

  • 构建信息保存在主服务器上。此类问题主要发生在从属端,其中每个作业都有一个工作区,其中包含源代码和构建结果。 (2认同)