Jenkins 构建时报错:No Space left on device

今天遇到一个 Jenkins 宿主目录所在磁盘容量不足的问题,如果在这种情况下,开始切换目录,jenkins 服务重启是成功的,我这里出现的问题是服务可以正常启动,端口起不来,/var/log/jenkins/jenkins.log 没有任何输出,解决方法就是先将 workspace 内不需要的项目删一下,然后在开始切换目录。

以下是 Jenkins 2种情况下切换目录的方法

安装未启动

Jenkins 默认的宿主目录为 /var/lib/jenkins,在 Jenkins 安装完成,没有启动服务之前,可以在 /etc/sysconfig/jenkins 配置文件中将 JENKINS_HOME 的值换为自己指定的目录,正常启动服务,访问页面初始化即可。

已使用

我就是这种情况,构建过程中报错:No Space left on device

安装完 Jenkins 后,使用过程中出现报错后才看到 /var/lib/jenkins 所在磁盘是系统盘,且只有 20G 的容量,使用率百分百。

这个时候,首先进入 /var/lib/jenkins/workspace 目录中,将不使用的构建目录都删除,然后确认 Jenkins 中没有执行任何构建再进行停止服务 systemctl stop jenkins

开始切换目录:先将 /var/lib/jenkins 目录复制到,数据盘所在目录 /data

cp -prv /var/lib/jenkins /data

复制完之后,将 workspace 目录中的内容全部删除,否则可能会在构建时 Jenkins 报错 处理当前请求时发生了错误

以下修改的前提均为jenkins服务的运行用户为 jenkins

将新的数据目录赋予给 jenkins 用户的宿主目录

usermod -d /data/jenkins jenkins

更改目录属主属组为 jenkins 用户

chown -R jenkins:jenkins /data/jenkins

更改 jenkins 配置文件中的 JENKINS_HOME 的值为 /data/jenkins

$ vim /etc/sysconfig/jenkins
JENKINS_HOME="/data/jenkins"

重启服务即可

systemctl start jenkins

登录 Jenkins web 页面–>系统管理–>系统配置,可以看到主目录是否更改成功

jenkins_change_home

评论




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