自动化测试pytest + 【Tomcat+Jenkins】集成(上篇:安装)

前言

Jenkins是支持多平台的持续集成工具,可以单独安装,也可以安装在一些中间件服务器形式的web应用(比如Tomcat)容器里面,本文以Tomcat容器里面安装Jenkins为例。

一、 准备Tomcat环境

1. 下载Tomcat 9

下载地址:https://tomcat.apache.org/whichversion.html

下载Tomcat 9 的原因是10以上的版本目前会遇到一些问题,这里暂不做详细说明

在这里插入图片描述
下载安装版的,免安装版也行,只是需要配置Tomcat环境变量。本文为示例为了方便就下载安装版的
在这里插入图片描述

2. 安装Tomcat

下载好后双击exe程序进行安装安装过程中可以设置密码,也可以不设置
在这里插入图片描述
自动识别本地JDK目录,这一步不用做更改,注意这里不是安装目录,下一步才是。
在这里插入图片描述

这里我就自定义安装在D盘某个目录。

在这里插入图片描述
等待安装完成,菜单栏可以看到两个程序,这两个程序可以用来控制Tomcat服务的启动与关闭
在这里插入图片描述

3. 启动Tomcat

接上述步骤,打开两个程序中的任意一个,点击start
在这里插入图片描述
启动完成后访问http://localhost:8080
在这里插入图片描述
访问成功说明Tomcat安装成功
查看此时有哪些服务启动了
在这里插入图片描述
由于安装的时候没有输入密码,这里登录需要使用默认的密码,点击取消即可查看配置密码的文件路径
在这里插入图片描述
在这里插入图片描述
可以在配置文件中去修改,照着上面的说面来操作,很简单,为了节省篇幅,这里就不赘述了。
在这里插入图片描述
下面这些是自带的应用程序
在这里插入图片描述

二、 安装Jenkins

1. 先装备Jenkins日志文件目录

为了方便后续使用中查看日志,在安装Jenkins前,需要准备一个文件夹来存放Jenkins日志文件
新建环境变量JENKINS_HOME,目录设置成一个存在的空文件夹。
在这里插入图片描述

2. 下载Jenkins的war包

下载地址:https://www.jenkins.io/zh/download/
下载长期支持版本更稳定在这里插入图片描述
如果这个页面下载不了war包,可以去下载以前的版本
在这里插入图片描述

顺便说一句后话,如果下载安装后,发现不能启动,可以更换版本试试。

3. 安装Jenkins

在安装Jenkins先要关闭Tomcat,否则可能会导致安装后无法启动Jenkins服务
在这里插入图片描述
把下载好的Jenkins的war包直接复制到Tomcat的目录webapps下面
然后启动Tomcat服务,此时,Jenkins会自动被安装。安装后webapps目录下会多出一个jenkins文件夹。

在Windows环境下,如果是免安装版的Tomcat,需要点击Tomcat的bin目录下的startup.bat来启动Tomcat

Tomcat启动完成后,再来查看Tomcat上的服务程序,可以看见多出一个Jenkins
在这里插入图片描述
默认也是启动状态,现在尝试访问:http://localhost:8080/jenkins

在这里插入图片描述
解锁Jenkins需要输入管理员密码,管理员密码在之前准备的jenkins的日志文件目录里面,进入这个目录找到secrets文件夹里面的initialAdminPassword文件,见文件里面的一串字符复制粘贴过去就可以解锁了。
解锁后会让安装插件,我习惯安装推荐,好处是不用动脑,但缺点是有些插件可能已经淘汰掉了。不过这些都不重要
在这里插入图片描述
等待安装完成,然后创建一个管理员用户
在这里插入图片描述

4. 登录Jenkins

创建一个管理员用户
在这里插入图片描述
jenkins资源根地址将localhost改成127.0.0.1
在这里插入图片描述

完成配置,之后就可以使用刚刚创建的管理员用户登录了。

三、 可能会遇到的问题

1. 反向代理配置错误

参考其他人的解决方式,我进行了如下尝试,最后得到解决。
在这里插入图片描述
这个问题并不影响使用,但是强迫症还是可以治疗一下。可能是端口冲突造成的,因为Tomcat和Jenkins的默认端口都是8080,那把Jenkins的端口改掉。
进入webapps所在目录D:\AMajor\Tomcat9\webapps,打开cmd命令窗口,执行下面命令:

java -jar jenkins.war --ajp13Port=-1 --httpPort=8081

出现如下信息,说明执行成功:

Running with Java 18 from D:\AMajor\JAVA, which is not yet fully supported.
Run the command again with the --enable-future-java flag to enable preview support for future Java versions.
Supported Java versions are: [11, 17]
See https://jenkins.io/redirect/java-support/ for more information.

此时Jenkins的端口改成了8081,然后修改代理配置也改成8081

在这里插入图片描述
在这里插入图片描述

再看好像就没有这个问题了,但那只是暂时的,过一会儿这个问题又会出现。所以怎么解决这个问题需要放到以后再说。

后来我又找到了另外一种方式来设置,算是解决了报错的问题,不过我感觉这种做法没什么用。指定端口
在这里插入图片描述在这里插入图片描述
再去修改本地Jenkins代理
在这里插入图片描述这回这个代理设置有误的信息就没有了
在这里插入图片描述打开http://localhost:8086看看到底是什么
在这里插入图片描述是Jenkins服务信息

2. Tomcat卸载不了

在这里插入图片描述

双击卸载程序会报如下错误:

No service name specified to uninstall.This will be providedautomatically if you uninstall via Add/Remove Programs or theshortcut on the Start menu.Alternatively, call the installer fromthe command line with -ServiceName=“<name of service:”.

此时可以到Tomcat目录打开cmd,执行

Uninstall.exe -ServiceName="<Tomcat9>"

虽然可以卸载成功,但此时并没有删除Tomcat服务,再次安装的时候会有一个同名的Tomcat服务,报错如下:

A service with the given Service Name is already installed on this machine

此时同样在cmd中执行如下命令即可

sc delete tomcat9

3. 使用startup.bat窗口一闪而过,无法启动Tomcat服务

① 环境变量导致的问题

step1:添加系统变量CATALINA_HOME
变量值:Tomcat主目录

在这里插入图片描述

step2:添加系统变量CLASSPATH,如果有,则直接添加值
.;%JAVA_HOME%\lib,如果存在多个值,用“;”分隔

在这里插入图片描述

step3:在系统变量Path中添加
%CATALINA_HOME%\bin
%CATALINA_HOME%\lib
%JAVA_HOME%\bin

到此,尝试在命令窗口输入startup
在这里插入图片描述

出现如下结果
新打开了一个窗口
在这里插入图片描述然后访问127.0.0.1:8080,打开了Tomcat主页,说明配置成功
在这里插入图片描述

② 非环境变量导致的问题

当使用 startup.bat 启动 Tomcat 时,如果窗口一闪而过,也排除了环境变量和端口问题,通常表示启动过程中发生了错误。为了捕捉错误信息,你可以通过以下方法尝试延长窗口的显示时间:

使用命令行启动:打开命令提示符(Command Prompt),进入到 Tomcat 的 bin 目录下,然后执行以下命令启动 Tomcat:

catalina.bat run

这样启动方式会在命令行窗口中显示详细的启动信息和错误信息,方便排查问题。

添加暂停命令:在 startup.bat 文件中,在最后一行 call “%EXECUTABLE%” start %CMD_LINE_ARGS% 的上方添加一行 pause 命令。这样可以让窗口停留在启动完成后,以便查看错误信息。

启动 Tomcat 后,如果出现错误信息,请查看窗口中的错误提示,并检查日志文件中的详细错误信息。日志文件通常位于 Tomcat 的 logs 目录下,可以查看 catalina.out 或其他相关的日志文件。

举例,日志信息:

加载主类 org.apache.catalina.startup.Bootstrap 时出现 LinkageError
java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap has been compiled by a more recent
version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file vers
ions up to 63.0

该错误表明 Tomcat 的启动类 org.apache.catalina.startup.Bootstrap 是由一个比当前 Java 运行时版本更高的版本编译的,而当前的 Java 运行时版本只能识别低于等于 63.0 版本的类文件。

解决此问题的方法是确保你使用的 Tomcat 版本与你的 Java 运行时版本兼容。根据错误信息来看,你的 Java 运行时版本是不支持编译版本为 65.0 的 Tomcat。

你可以尝试以下方法解决问题:

更新 Java 运行时版本:下载和安装与 Tomcat 兼容的更高版本的 Java 运行时环境 (JRE) 或开发工具包 (JDK)。确保安装的 Java 版本符合 Tomcat 的要求。可以在 Tomcat 的官方文档或发布说明中查找支持的 Java 版本信息。

降级 Tomcat 版本:如果你不想更新 Java 版本,可以尝试降低 Tomcat 的版本,以匹配当前的 Java 运行时版本。从 Tomcat 官方网站上下载适用于你的 Java 版本的较低版本的 Tomcat。

请注意,升级 Java 运行时版本或降级 Tomcat 版本都可能需要对应的配置和调整。确保在更改版本之前备份重要的文件和配置,并在升级或降级后进行适当的测试。

4. Jenkins安装了但启动不成功

报错信息如下:

失败 - 上下文路径[/jenkins]下,应用程序无法启动

这个问题在于,Jenkins的war包是在Tomcat的其他服务程序在启动的情况下被复制到webapps目录下造成的,解决这个问题的方法就是,删掉原来在webapps目录下的war包和Jenkins文件夹。关闭Tomcat服务,先把war包复制到webapps下,再启动Tomcat。如果这种方法还不能解决,那就更换Jenkins的版本再尝试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值