环境

Linux: centos6.5
工具:CRT
操作系统: win7
java:1.7,1.8

场景

昨晚心血来潮,想把jenkins升下级,反正也就点个按钮自动升级。
升级完毕后,重启时,发现需要java8才行。

首先公司目前用的都是java7,所以我不能安装java8后,将环境变量改为java8,这样会导致其他程序出现不兼容的情况。
这时,我能想到的办法就是:
① 将jenkins还原回去
② 将jenkins启动脚本改下,即启动时,指定jdk的路径。

抱着试试的心态选择第二种方法。

解压时,空间不足

从官网下载好安装包后,上传到服务器上,解压。
结果解压时总是报一些文件打不开。一开始我以为是权限问题,可是上传上来的包明明都是root权限,我当前用户也是root。后来才知道,原来是当前目录的空间不足。
当解压时,要是出现一些文件提示打不开的情况,请记住空间不足也是一种可能
之后,我就放到一个大点的目录下,进行解压就OK啦。

修改启动脚本

java8的安装目录是/usr/java/jdk1.8.0_151

而使用rpm安装方式的jenkins启动脚本的路径在/etc/init.d/jenkins.

[root@master01 init.d]# vim jenkins
# 找到下面这一段
for candidate in /usr/java/jdk1.8.0_151/bin/java /usr/java/jdk1.7.0_51/bin/java /etc/alternatives/java /usr/lib/jvm/java-1.6.0/bin/java /usr/lib/jvm/jre-1.6.0/bin/java /usr/lib/jvm/java-1.5.0/bin/java /usr/lib/jvm/jre-1.5.0/bin/java /usr/bin/java
do
  [ -x "$JENKINS_JAVA_CMD" ] && break
  JENKINS_JAVA_CMD="$candidate"
done

看到for in后面一堆的路径, 将java8的路径添加进去就可以了;上面我已经添加好了。

至此,jenkins就可以再次启动了。

遇到的写问题

No such file or directory

error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

这个错误,其找不到libjli.so这个文件,我是因为在解压java8时,由于空间不足的原因,导致很多文件没有解压出来,也就是说我解压的并不完整。

Zmodem transfer canceled by remote side zip

Zmodem transfer canceled by remote side zip

这个是发送在我上传压缩包时,提示的错误。
网上给的解释是上传的文件存在特殊字符需要转义,所以加参数:

rz -e
# 或者
rz -be

但是呢,我的还是不行,为啥呢?还是因为空间不足的原因;
我昨晚就因为这个浪费了很多时间。

总结

一个空间不足的问题,在执行不同命令时,报出了很多稀奇古怪的事情,但都没有提示空间不足。

参考地址:

安装jenkins为守护进程

===========2017-11-07============

今天早上来看jenkins时发现,一些警告。为了保证今天的工作,暂时还原成了之前的版本,今天再弄弄。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐