「Jenkins探索系列」二、Centos8环境下搭建Jenkins
目录
Centos离线方式部署Jenkins
1、安装JDK、Tomcat、Jenkins
基础环境信息如下:
1、CentOS 8 64 位
2、JDK1.8.0_361
3、Jenkinsv2.387.2报错=>2.346.1
4、Tomcat9.0.73
1、包下载
在执行以下操作前, 请提前做好防火墙或云服务器的端口安全策略. 便于可以正常进行端口的访问. 我这里开放了对应的8001-8010端口.
1、JDK下载及配置
下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
环境变量的配置:
需要在/etc/profile 的末尾加上JDK压缩包解压后的路径:
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_361
export JAVA_BIN=/usr/local/jdk/jdk1.8.0_361/bin
export JRE_HOME=/usr/local/jdk/jdk1.8.0_361/jre
export PATH=$PATH:$JAVA_BIN
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
[root@VM-0-3-centos jdk]# mv /data/datakw/jenkins/data/jdk-8u361-linux-x64.tar.gz .
[root@VM-0-3-centos jdk]# ll
total 135516
-rw-r--r-- 1 www www 138762230 Apr 2 17:34 jdk-8u361-linux-x64.tar.gz
[root@VM-0-3-centos jdk]# pwd
/usr/local/jdk
# 解压jdk压缩包
[root@VM-0-3-centos jdk]# tar -zxvf jdk-8u361-linux-x64.tar.gz
[root@VM-0-3-centos jdk]# ll
total 135520
-rw-r--r-- 1 www www 138762230 Apr 2 17:34 jdk-8u361-linux-x64.tar.gz
drwxr-xr-x 8 root root 4096 Apr 13 10:20 jdk1.8.0_361
# 配置环境变量
[root@VM-0-3-centos jdk]# vi /etc/profile
# 环境变量生效
[root@VM-0-3-centos jdk]# source /etc/profile
# 验证JDK配置是否成功
[root@VM-0-3-centos jdk]# java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)
2、Tomcat包下载
下载地址:https://tomcat.apache.org/download-90.cgi
[root@VM-0-3-centos tomcat]# tar -zxvf apache-tomcat-9.0.73.tar.gz
[root@VM-0-3-centos tomcat]# cd apache-tomcat-9.0.73
[root@VM-0-3-centos apache-tomcat-9.0.73]# pwd
/usr/local/tomcat/apache-tomcat-9.0.73
# 修改tomcat的启动端口, 这里我们设置为8002
[root@VM-0-3-centos conf]# pwd
/usr/local/tomcat/apache-tomcat-9.0.73/conf
[root@VM-0-3-centos conf]# vim server.xml
# 启动tomcat服务
[root@VM-0-3-centos bin]# pwd
/usr/local/tomcat/apache-tomcat-9.0.73/bin
[root@VM-0-3-centos bin]# ./startup.sh



3、Jenkins包下载及配置
这里注意, 我们Jenkins 版本更换为2.346.1, 要不然会出现JRK版本跟Jenkins之间不兼容的问题.
下载地址:https://www.jenkins.io/download/





2、配置
2、问题解决
2.1 Tomcat9 访问managerAPP的过程中401

解决方法:
1、进入tomcat下的conf目录,打开tomcat-users.xml文件
2、找到文件在末尾,在</tomcat-users>上一行插入如下配置:
<role rolename="manager-gui"/>
<user username="aaaa" password="123321" roles="manager-gui"/>
3、保存文件,退出。重启tomcat该配置即可生效
最终结果:

2.2 Tomcat9 访问managerAPP的过程中403:

解决方法:
修改conf/tomcat-users.xml
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="aaaa" password="123321" roles="admin,manager,manager-gui"/>
同时还需要修改文件:conf/Catalina/localhost/manager.xml 内容如下, 如果没有则需要创建:
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
最终结果:

2.3 Tomcat 上传包大小限制修改
修改以下文件: webapps\manager\WEB-INF\web.xml
<multipart-config>
<!-- 50MB max -->
<max-file-size>524288000</max-file-size>
<max-request-size>524288000</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
2.4 Tomcat9启动Jenkins v2.387.2报错
通过页面部署Jenkins2.387.2

启动Jenkins:

报错日志如下, 可以通过tomcat目录下的logs/localhost.2023-04-13.log 查看启动报错的详细日志:
13-Apr-2023 16:52:06.592 SEVERE [http-nio-8002-exec-11] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [jenkins.JenkinsHttpSessionListener]
java.lang.UnsupportedClassVersionError: jenkins/JenkinsHttpSessionListener has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class [jenkins.JenkinsHttpSessionListener])
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2475)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:875)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1376)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:487)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java
解决方案:
通过日志可以看出来是Jenkins的版本是被55编译的, 但是实际上运行的jre是52.首先确认下, tomcat实际使用的jdk的版本,路径:/usr/local/tomcat/apache-tomcat-9.0.73/bin/version.sh
[root@VM-0-3-centos bin]# ./version.sh
Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-9.0.73
Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-9.0.73
Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-9.0.73/temp
Using JRE_HOME: /usr/local/jdk/jdk1.8.0_361/jre
Using CLASSPATH: /usr/local/tomcat/apache-tomcat-9.0.73/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-9.0.73/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Server version: Apache Tomcat/9.0.73
Server built: Feb 27 2023 15:33:40 UTC
Server number: 9.0.73.0
OS Name: Linux
OS Version: 4.18.0-348.2.1.el8_5.x86_64
Architecture: amd64
JVM Version: 1.8.0_361-b09
JVM Vendor: Oracle Corporation
我的JDK版本已经是最新的了. 所以我用的解决方式就是降Jenkins版本:
2.346.1版本, 下载地址: https://mirrors.jenkins.io/war-stable/2.346.1/jenkin.war
重新上传部署后:

最终结果:


浙公网安备 33010602011771号