继上次 Jenkins报错No-Space-left-on-device 之后,磁盘问题它又来了,Jenkins 在每次执行构建的时候都会在 /tmp 目录下创建一个临时脚本用来执行构建,如下的样子

jenkins_build_info

jenkins_build_info.jpg

现在报错如下

FATAL: Unable to produce a script file
java.io.IOException: No space left on device

是 java 报的错,通过检查之后发现是系统磁盘满了,因为是云服务器,购买时系统磁盘为20G,数据盘100G,上次已经将 Jenkins 主目录移动到了数据盘下,但是 /tmp 还是在系统磁盘下的。如果可以清理系统磁盘,也是可以短暂使用的,或者扩容,考虑成本问题,这里直接将 tmp 目录修改位置

查看 Jenkins 环境信息

jenkins_sys_info

jenkins_sys_properties

java.io.tmpdir 就是需要修改的关键词

登录 Jenkins 服务器,找到 Jenkins 服务的配置文件,我是 yum 安装,文件路径为 /etc/sysconfig/jenkins

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
# 添加-Djava.io.tmpdir=/new_dir",new_dir为新路径
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djava.io.tmpdir=/new_dir"

重启 Jenkins 后可以在系统属性的位置看到变化。

评论




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0