ubuntu18.04配置Java环境,搭建Jenkins
最近在Linux服务器搭建了Jenkins,遇到了特别多的问题,赶紧记下来;
1、安装jdk环境
因为Jenkins运行需要jdk的环境,所以首先得安装Java,这里介绍两种jdk的方法
命令安装
1、使用命令安装jdk环境,这种的是openjdk
sudo apt-get install openjdk-8-jre sudo apt-get install openjdk-8-jdk
使用whereis java 查看Java的路径,好配置环境变量
whereis java
2、配置环境变量,使配置生效
sudo vim /etc/profile
export JAVA_HOME=/usr/bin/java export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile
3、如果这样配置的环境变量,其他程序需要依赖Java环境的话,比如Jenkins,maven,allure等。在配置完其他环境检查配置正确与否,遇到报错情况如下:
测试Java环境变量没有问题,但是在配置其他环境,我这里配置的是allure环境,验证时报错了,说Java环境没有问题,给我郁闷了一个下午。
ERROR: JAVA_HOME is set to an invalid directory: /usr/bin/java
Please set the JAVA_HOME variable in your environment to match the location of your Java installation.
错误:JAVA_HOME被设置为无效目录:/usr/bin/java
请在环境中设置JAVA_HOME变量以匹配Java安装的位置。
最后终于找到原因了,还真的就是Java环境有问题。
因为我安装的是openjdk,查看Java路径时用的whereis java这个命令,得到的路径是/usr/bin/java。可是这个路径不行,我又找其他的Java路径,最终找到一个叫java-8-openjdk-amd64这种字眼的路径,然后将这个路径配置到JAVA_HOME中,就可以了,希望给遇到同样问题的人避免踩坑。
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ # JAVA_HOME路径是这个。其他的不变。
压缩包安装
1、下载jdk,这种是Oracle的jdk
去官网下载jdk安装包,我的是Ubuntu18.04 64位的系统,或者去其它网站下载,或者你找其他人要也可以。(官网下载需要注册账号)
注意:不要用wget命令去下载,因为这样需要同意Oracle的安装协议,不然不能下载,但是wget命令默认是不同意,虽然能下载下来,但是会有问题
官网地址:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
2、将jdk的安装包上传到Linux服务器
将下载下来的安装包上传到Linux服务器, 这里我用的是rz命令,如果没有,那就安装一下
sudo apt-get install lrzsz
直接在命令输入 sudo rz,就会弹出上传文件的文本框;如果传输失败,如下图所示,那就是权限问题,必须加上sudo;如果传输一半失败,那就用sudo rz -be这个命令传输文件,具体原因自己百度吧,不过多赘述了
3、解压压缩包,并配置环境变量
cd 到usr/local目录下,使用mkdir java命令创建java文件夹。然后用mv命令将压缩包移动到java这个文件夹下
sudo mkdir java
也可以是先到/usr/local目录下,让后创建一个java目录,直接在这个目录下上传java的压缩包。
修改环境变量:使用 vim /etc/profile 打开文件profile,在文件最后面添加java环境变量。
export JAVA_HOME=/usr/local/java/jdk1.8.0_161 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH}
使配置生效
source /etc/profile
测试jdk环境生效
java -version
这样就是Java环境配置成功了。
2、安装Jenkins
安装Jenkins有多种方法:
1、官网命令安装方法:https://www.jenkins.io/zh/doc/book/installing/#linux
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update sudo apt-get install jenkins
2、下载Jenkins安装包(前提是得安装jdk环境)
https://www.jenkins.io/zh/download/
2、将Jenkins的war包上传到Linux服务器,操作方法同上边的上传jdk的包;
3、在你Jenkins的目录运行命令
java -jar jenkins.war
4、启动Jenkins
sudo service jenkins start
我就是在这里报错的,报错信息为:
Starting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
这个是因为Java路径不对导致的报错,修改/etc/init.d/jenkins文件中的java路径,使用 vim /etc/init.d/jenkins命令打开jenkins配置文件,操作和上面配置java环境变量一样
网上一顿瞎折腾,也没搞定,最后查看错误信息,还是跟java路径有关,里面提到 type - p java,说这个会返回实际的java路径,我的Java实际路径为:/usr/local/java/jdk1.8.0_161/bin/java;
修改sudo vim /etc/init.d/jenkins,找到一行JAVA=`type -p java`,我把这行直接注释了,然后添加一行JAVA= /usr/local/java/jdk1.8.0_161/bin/java,保存退出
执行命令:systemctl daemon-reload重新加载
systemctl daemon-reload
重启 systemctl restart jenkins.service
查看状态 systemctl status jenkins.service
这样就是成功了。
如果想修改Jenkins的端口,需要修改 vim /etc/default/jenkins文件的HTTP_POrt=8080
修改完重启一下Jenkins服务,还需要看一下是不是和vim /etc/init.d/jenkins这个文件的端口号一致
3、打开ui界面
浏览器输入地址:8080端口,就可以看到熟悉的老人头了,哈哈