jdk安装和配置环境变量
- jdk下载
官网地址:https://www.oracle.com/cn/java/technologies/javase-downloads.html,下载对应的Linux安装包。
- Linux配置jdk环境
- Linux新增jdk安装目录(目录可自定义)
mkdir /usr/local/soft
cd /usr/local/soft
通过ftp把安装包上传到该文件夹
ps:rm -rf xxx
强制删除目录或者文件,谨慎使用
然后执行命令解压tar -zxvf jdk-16.0.1_linux-x64_bin.tar.gz
细心的朋友会发现只有jdk目录,没有jre了,因为新版jdk把两者结合成一个包了,配置环境变量也只需要配置jdk的就可以正常使用。
- 输入命令
vim /etc/profile
- 点击
i
键进入编辑模式,配置环境变量
export JAVA_HOME=/usr/local/soft/jdk-16.0.1
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
点击
esc
键退出编辑模式,再输入:wq
,写入保存退出。
ps::wq
时候保存修改退出,:q
是没有修改直接退出-
最后用
java 、 javac 、java -version
三兄弟检验jdk是否安装成功
安装Tomcat
tomcat安装可以先下载安装包,再解压。也可以直接用yum在线安装,这里我们直接用yum在线安装更方便
yum install tomcat
//或者
yum -y install tomcat
-
-y
代表遇到询问都选 y,这样安装过程中就不需要手动输入y
了
安装完成后,安装目录在/usr/share/tomcat
, 我们用 cd 命令切到这个目录,用ls(或ll)
命令查看这个目录里面的文件
启动tomcat服务 - 查看tomcat的状态:
systemctl status tomcat
启动tomcat:systemctl start tomcat
Active: inactive (dead)说明tomcat 现在处于 dead(挂了) 状态,服务还没有跑起来。
启动Tomcat服务后,状态是 Active: active (running) , 此时已经代表 tomcat 已经正常的跑起来了。
访问tomcat
tomcat默认端口是
8080
,接下来浏览输入地址:http://服务器公网ip:8080/
。这个页面暂时是无法访问
由于tomcat的web页面是需要安装插件的,这里继续用tomcat-webapps
和tomcat-admin-webapps
两个插件包
- 输入命令安装:
yum install tomcat-webapps tomcat-admin-webapps
安装完之后,8080端口还是无法访问,需要登录阿里云 ECS后台管理,打开云服务器ECS-安全组-配置规则
添加安全组规则,新增8080端口访问权限
- 规则方向:入方向
- 协议类型:自定义 FTP
- 端口范围: 8080/8080
授权对象:0.0.0.0/0
- 设置后,浏览输入地址:
http://服务器公网ip:8080/
就可以访问Tomcat了
Tomcat自启动服务------------ 略
安装Jenkins
- Jenkins需要在Tomcat中才能运行,即
/tomcat/webapps
文件夹下
下载Jenkins
这次使用weget下载Jenkins,wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。
所谓自动下载,是指 wget 可以在用户退出系统的之后在继续后台执行,直到下载任务完成。
打开Xshell连上服务器,先看 CentOS系统有没自带wget这个工具:rpm -qa | grep wget
[root@VM-0-5-centos tomcat]# rpm -qa | grep wget
wget-1.14-18.el7_6.1.x86_64
能查看到版本号,说明已经安装过了,没有的话,就用yum安装下
yum install wget
jenkins安装包下载地址:http://mirrors.jenkins-ci.org/war/latest/jenkins.war
可以在本地下载之后,使用Xftp工具传到tomcat的"/usr/share/tomcat/webapps"目录下。
这里我们介绍直接使用wget工具下载到linux服务器上,先在webapps里面新建一个jenkins目录
mkdir /usr/share/tomcat/webapps/jenkins
cd /usr/share/tomcat/webapps/jenkins
wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
- 我这个速度很快,如果你们速度慢的话可以本地下载Jenkins的war包然后上传到Linux,都一样。
下载成功后,文件夹下多了一个Jenkins的war包
- 下载完之后,解压war包:
jar -xvf jenkins.war
启动Jenkins
解压完之后,只要tomcat是启动的,浏览器输入:http://公网ip:8080/jenkins 就能访问了
- 首次打开,在
/usr/share/tomcat/.jenkins/secrets/initialAdminPassword
目录找到密码,vim打开文件就能访问了
- 把密码复制了,贴到浏览器输入框就能访问了,弹出的框选左边这个安装全部插件
-
等待插件下载完成
-
一片红装,但是问题不大,大概率是安装源的问题。
进入jenkins->系统管理->管理插件->高级
把:https://updates.jenkins-ci.org/update-center.json
换成:http://mirror.esuni.jp/jenkins/updates/update-center.json
或者https换成http: http://updates.jenkins.io/update-center.json
PS:我用的是第二个才最终全部安装成功。
*然后进入插件管理,点击红框的任意一处,就会重复触发安装必要依赖插件。
安装Python3
centos7 所有版本依然是默认自带 python2 编译器,使用 python3 需要从网上下载、编译、安装。
但是从 centos7.7 开始,我们有更简单的方式安装,在其发行公告中指出:
"Python 3 is now available. Installing the python3 package gives you the Python 3.6 interpreter"
也就是说,centos7.7 已经帮我们编译好了 python3.6,在有网络的情况下,执行以下命令安装:
yum install python3
- 校验一下
需要注意的是,默认的python依然对应python2,实际使用过程用python3和pip3即可。
PS: centos8 已经默认自带 python3.6.8,无需另外安装。
使用Jenkins持续集成项目生成测试报告
项目依赖安装
- 安装项目的环境依赖,例如
pip3 install -r requirements.txt
,其他过程略
Jenkins新建任务
- 新增一个自由风格的任务
丢弃旧的构建
-
我们将构建的备份数量限制最多10个,最大保存时间14天,重新构建,非必填
源码管理
-
最终源码管理配置成这样
构建job--shell命令
- 保存项目,然后初次构建
- 看看控制台的输出日志
生成allure测试报告
- Allure Jenkins Plugin是集成到Jenkins的allure插件,可以省略由json文件转为html报告的命令步骤
-
插件好像改名了,但是描述没有变化。
配置job
-
新增allure report构建后操作
保存然后重新构建一下
报错了,报错Build step 'Allure Report' marked build as failure
这个报错是因为Jenkins没有配置好allure,进入Jenkins - 系统管理 - 全局工具配置 - Allure Commandline - 新增 Allure Commandline。 输入别名、勾选自动安装、选择Allure的版本, 构建Job时会自动安装Allure到Jenkins/toorl目录下
- 当然你可以选择配置已安装的allure环境
PS:allure是依赖jdk环境,Linux必须先安装好jdk。Jenkins也是需要用到jdk,但是很少需要手动配置。
-
重新构建下,成功了
-
查看报告,又发现问题了,报告生成日期和当前日期不一致
- 查看日志发现,报错
hrun: error: unrecognized arguments: --clean-alluredir --alluredir=allure-results
哦,好吧,这个是 hrun命令出错了,httprunner生成allure报告需要安装allure-pytest依赖,执行命令
pip3 install allure-pytest
再次构建查看报告,时间对得上了,这很OK。
PS:通过这个报错,我们可以发现,生成allure报告一般需要两个步骤,测试框架生成json格式的测试报告,然后再通过allure命令生成友好的HTML测试报告,如下命令
hrun testsuite --clean-alluredir --alluredir=allure-results #清除旧的json报告生成新的
allure generate allure-results --clean #清除旧的html报告生成新的
httprunner框架执行第一步命令,allure框架执行第二步命令
显然,Allure Commandline是帮助我们完成第二步命令。
发送邮件
- 下载插件,Email Extension Plugin 是发送邮件的Jenkins插件,默认下载依赖,没有手动下载。
发送邮件的相关配置
- 通过系统管理→系统设置,进行邮件配置:
- 附上邮件模板
<h1><center><font>以下是Jenkins自动发送的邮件,请勿回复!</font><center></h1>
<h3><center><font color="red">allure报告在线查看or下载allure-report.zip用firefox离线查看,测试用例见附件</font><center></h3>
<br>
<hr>
<br>
项目描述:${JOB_DESCRIPTION}<br>
<br>
<hr>
项目名称:$PROJECT_NAME<br>
构建编号:$BUILD_NUMBER<br>
构建状态:$BUILD_STATUS<br>
触发原因:${CAUSE}<br>
构建地址:<A HREF="${BUILD_URL}">${BUILD_URL}</A><br>
构建日志地址:<A HREF="${BUILD_URL}console">${BUILD_URL}console</A><br>
系统allure测试报告:<A HREF="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER}/allure</a><br>
<hr>
${JELLY_SCRIPT}
-
修改job任务配置,新增Editable Email Notification构建后步骤,Triggers设置为Always,其他的默认即可.
-
重新构建,查看是否收到邮件
其它遇到的问题
- 构建任务时,输出日志
xxx command no found
,报错命令不存在
这个是新手入坑大概率会遇到的问题,比如需要使用shell命令运行Python文件python3 demo.py
,可能会报错python3 command no found
。
解决办法:Jenkins配置PATH环境变量
在Linux输入命令echo $PATH
,获取环境变量
然后再进入Jenkins, 系统管理 - 系统配置-全局属性,配置PATH
- 构建任务时,报错
Jenkins Build step 'Execute shell' marked build as failure
度娘说报错原因是磁盘空间不足导致报错
解决办法:第一行加上#!/bin/bash
,网上都是这个答案,我试了都不行,最终在最后一行加上exit 0
就搞定了
- 构建日志输出
Build step 'Allure Report' changed build result to UNSTABLE
, 构建成功Alure report将构建标记为不稳定
如图,构建状态都是黄色
原因是存在执行失败的测试用例时,构建后操作 - Allure Report将构建标记为不稳定; 不存在失败的测试用例则不会标记为不稳定(不需理会)