jenkins出现java.io.IOException: No space left on device(设备上没有空间)终极解决方案

参照: 修改Jenkins的主目录步骤说明

在使用Jenkins做持续集成过程中,在构建很多次后发现有时在构建的时候系统提示磁盘空间不足,此时检查发现Jenkins的主目录挂载区放在了服务器根目录下,占用空间较大,此时除了对服务器的磁盘进行扩容外,另一个解决办法就是修改Jenkins的主目录,将其放在占用磁盘空间较大的分区下面

修改Jenkins主目录的几种方式
!!!!!特别注意,一般情况下尽量不要修改Jenkins的主目录,我在修改的时候曾导致服务挂掉,所有配置均重新配置

工作中,由于Jenkins默认的主目录空间太小,导致需要将Jenkins默认的主目录修改到其它目录。本文针对更改Jenkins的主目录详细介绍。

注意:在Jenkins运行时是不能更改的. 请先将Jenkins停止运行。

一、Windows环境更改Jenkins的主目录

Windows环境中,Jenkins主目录默认在C:\Documents and Settings\AAA\.jenkins 。

可以通过设置环境变量来修改,例如: JENKINS_HOME=C:\jenkins,然后重新启动jenkins。

 

二、Linux环境更改Jenkins的主目录

Linux环境中,Jenkins主目录默认在/root/.jenkins

Jenkins储存所有的数据文件在这个目录下. 你可以通过以下几种方式更改:

1、使用你Web容器的管理工具设置JENKINS_HOME环境参数. (个人使用该方法)

打开tomcat的bin目录,编辑catalina.sh文件。
在# OS specific support.  $var _must_ be set to either true or false.上面添加:export JENKINS_HOME=""
在引号中填入你的路径。

 2、在启动Web容器之前设置JENKINS_HOME环境变量.

用root用户登录
编辑profile文件:vi /etc/profile
在最后加入:export JENKINS_HOME=xxxx
保存,退出后执行:source  /etc/profile
让配置生效

 3、(不推荐)更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件)

<!-- if specified, this value is used as the Hudson home directory -->
  <env-entry>
    <env-entry-name>HUDSON_HOME</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value></env-entry-value>
  </env-entry>
  <!-- 在<env-entry-value>节点中填入路径,windows系统建议使用/分隔路径 -->
 


但是我发现我的不是用tomcat部署的,  只能查看自己本机的Jenkins默认安装路径,

[root@localhost jenkins]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins  ---- jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在这里配置。

/usr/lib/jenkins   --   jenkins安装目录,WAR包会放在这里

/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins  ------ 默认的JENKINS_HOME。

/var/log/jenkins  ----------    Jenkins日志文件。

使用vi或者vim对/etc/sysconfig/jenkins 文件编辑(要注意做这些操作之前记得把Jenkins停掉)

vi   /etc/sysconfig/jenkins 

找到JENKINS_HOME="/var/lib/jenkins", 修改成JENKINS_HOME="/home/jenkins"

之后重新启动, Jenkins命令如下:

jenkins启动

service jenkins start

重启

service jenkins restart

停止

service jenkins stop

 问题又来了, 重新进去之后:

这样肯定不行, 我之前的所有配置全部清空掉,怎么办? 

直接把之前的jenkins主目录下的所有文件copy到现在的新目录下

cp -r /var/lib/jenkins/.   /home/jenkins/

 重新启动, 搞定

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值