「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
重新上传部署后:

最终结果:

posted @ 2023-04-13 18:04  kenwu_code4fs  阅读(566)  评论(0)    收藏  举报