我已经在我的CentOS机器上部署了Jenkins,Jenkins运行良好3天,但是昨天出现了
Disk space is too low. Only 1.019GB left.
问题。
我该如何解决这个问题,它让我的主人离线几个小时?
您可以轻松地从 jenkins UI 更改阈值(我的版本是 1.651.3):
[]
此功能旨在防止在可用磁盘空间较低的从站上工作。降低阈值并不能解决某些作业完成后未正确清理的问题。
取决于您要构建的内容:
Alternative1 - 为每个作业配置一个新的从站(使用现货从站 - 有许多插件可以与不同的云提供商集成,以按需配置动态机器)
Alternative2 - 在容器内运行构建。构建完成后,所有内容都将被丢弃
除了上述解决方案之外,还有一种更“常见”的方式——直接从Linux机器上删除最大的空间消耗者。您可以按照以下步骤操作:
使用
也列出隐藏文件夹,通常是 jenkin 安装放在.jenkins/文件夹中
ls -lart
[xxxxx ~]$ ls -lart
drwxrwxr-x 12 xxxx 4096 二月 8 02:08 .jenkins/
使用
高级显示磁盘空间
df -h
列出当前路径中每个子文件夹的总内存。
du -sh ./*/
将列出 /etc/ 中占用磁盘空间的前 10 个目录
du -a /etc/ | sort -n -r | head -n 10
通常
文件夹或./job/
文件夹可以是最大的文件夹。请进去并根据您的需要删除(不要 删除整个文件夹)。./workspace/
rm -rf theFolderToDelete
您可以通过丢弃旧版本来限制磁盘空间的减少。项目配置中有一个复选框。
这实际上是一个合法的问题,所以我不明白反对票,也许它属于超级用户或服务器故障。这是软警告阈值,而不是磁盘空间不足的硬限制。
詹金斯也是一样。结论是,对于许多小型项目,称为 hudson.diagnosis.HudsonHomeDiskUsageChecker.freeSpaceThreshold
的
系统属性可以减少。
说我还没有测试过,有免责声明
没有兼容性保证
一般来说,这些开关本质上通常是实验性的,如有更改,恕不另行通知。如果您发现其中一些有用,请提交票证以将其推广到官方功能。
我有一项清理工作,其构建步骤如下。您可以安排@daily 或@weekly。
Execute system groovy script
构建清理旧作业的步骤: import jenkins.model.Jenkins
import hudson.model.Job
BUILDS_TO_KEEP = 5
for (job in Jenkins.instance.items) {
println job.name
def recent = job.builds.limit(BUILDS_TO_KEEP)
for (build in job.builds) {
if (!recent.contains(build)) {
println "Preparing to delete: " + build
build.delete()
}
}
}
您需要安装 Groovy 插件。
Execute shell
清理缓存目录的构建步骤rm -r ~/.gradle/
rm -r ~/.m2/
echo "Disk space"
du -h -s /
检查可用空间为 Jenkins Job:
FREE_SPACE
:需要 GB 中的可用空间。#!/usr/bin/env bash
free_space="$(df -Ph . | awk 'NR==2 {print $4}')"
if [[ "${free_space}" = *G* ]]; then
free_space_gb=${x/[^0-9]*/}
if [[ ${free_space_gb} -lt ${FREE_SPACE} ]]; then
echo "Warning! Low space: ${free_space}"
exit 2
fi
else
echo "Warning! Unknown: ${free_space}"
exit 1
fi
echo "Free space: ${free_space}"
Free space: (.*)
描述:
Free space: \1
失败构建的正则表达式:
Warning! (.*)
\1
对于不知道配置在哪里的人,请从以下位置下载 tmpcleaner https://updates.jenkins-ci.org/download/plugins/tmpcleaner/
您将在此处获得 hpi 文件。转到管理 Jenkins-> 管理插件-> 高级,然后在此处上传 hpi 文件并重新启动 jenkins
如果您转到“管理节点”,您可以立即看到差异。
由于我的 jenkins 安装在 debian 服务器中,我不明白与此相关的大多数答案,因为我找不到 /etc/default 文件夹或 jenkins 文件。 如果有人知道 /tmp 文件夹在哪里或如何为 debian 配置它,请在评论中告诉我