修改jenkins主目录与cp参数a使用
环境操作系统:win7虚拟机:cento7需求之前博客中我曾说过jenkins最近所占目录空间快满了–centos7中根据文件大小排序以及jenkins配置每周删除一次jobs日志信息在我删除日志后,重启jenkins,确实是不发警告啦!但是第二天,又出来了,说空间快满。jenkins默认的主目录是:/var/lib/jenkins。这个/var/lib目录空间本来就小,随着以后产品线的增多
环境
操作系统:win7
虚拟机:cento7
需求
之前博客中我曾说过jenkins最近所占目录空间快满了–centos7中根据文件大小排序以及jenkins配置每周删除一次jobs日志信息
在我删除日志后,重启jenkins,确实是不发警告啦!但是第二天,又出来了,说空间快满。
jenkins默认的主目录是:/var/lib/jenkins
。这个/var/lib
目录空间本来就小,随着以后产品线的增多,总有一天会撑满,所以我选择更换主目录。
更改jenkins主目录
下面是网上千篇一律给出的答案:
方法一、使用你Web容器的管理工具设置JENKINS_HOME环境参数.
打开tomcat的bin目录,编辑catalina.sh文件。
在# OS specific support. $var _must_ be set to either true or false.上面添加:export JENKINS_HOME=""
在引号中填入你的路径。
方法二、在启动Web容器之前设置JENKINS_HOME环境变量.#(我试了很多次,不行)
用root用户登录
编辑profile文件:vi /etc/profile
在最后加入:export JENKINS_HOME=xxxx
保存,退出后执行:source /etc/profile
让配置生效
方法三、(不推荐)更改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
,所以不用方法一;
方法三要先解压war包,再改配置,再打包,麻烦!
方法二我试了很多次,就是不行,网上那帮喜欢复制粘贴的银,能不能再复制的时候,说明下,哪些是你没有实践的,我好直接pass掉,真的很浪费时间。
正确的改法–针对方法二
先把jenkins
停止掉:
service jenkins stop
首先、方法二的那种改法是肯定不行的,因为jenkins
它有自己的配置文件,每次启动的时候是读取自己的配置文件,而不是linux
系统的配置文件。
而jenkins
的配置文件路径:
vim /etc/sysconfig/jenkins
打开后可以看到如下(部分):
## Path: Development/Jenkins
## Description: Configuration for the Jenkins continuous build server
## Type: string
## Default: "/var/lib/jenkins"
## ServiceRestart: jenkins
#
# Directory where Jenkins store its configuration and working
# files (checkouts, build reports, artifacts, ...).
#
#JENKINS_HOME="/var/lib/jenkins"
JENKINS_HOME="/home/jenkins/dataspace"# 这里是我改的
## Type: string
## Default: ""
## ServiceRestart: jenkins
#
# Java executable to run Jenkins
# When left empty, we'll try to find the suitable Java.
我们可以看到JENKINS_HOME
,我们需要改的就是这个。
改好后,重新启动jenkins,当然建议现在还是别启动,为什么呢?因为你连主目录都换了,以前创建的jobs
和配置全没有了!怎么办呢,复制、粘贴呗!
cp命令注意事项
刚开始我执行如下命令:
cp -r /var/lib/jenkins/* /home/jenkins/dataspace/
接着重启jenkins
,结果一直停留在启动页面。为什么呢?因为上面的命令,改变了原文件的权限(所属用户、用户组)。本来都是jenkins
用户权限,复制完成后,都变成了root
(因为我当时复制时的登录用户就是root)。
把/home/jenkins/dataspace/
清空,重新复制,执行如下命令:
cp -af /var/lib/jenkins/* /home/jenkins/dataspace/
再次重启jenkins,就好了。
cp命令中的参数a,就是复制时,保留原有权限。f是强制意思。
查看jenkins安装目录
这种方式前提是使用rpm
的方式安装
执行命令:
rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins
参考链接
更多推荐
所有评论(0)