Ubuntu20.04从Java配置到Jenkins持续集成Python自动化测试
1.java环境配置
打开终端,键入如下命令查看可安装的jdk版本
javac
推荐安装如图版本
sudo apt install openjdk-8-jdk-headless
键入y回车
正常情况下可顺利安装完毕
然后新建终端窗口
sudo vim /etc/profile
vim命令:英文状态下按i进入编辑模式,按esc退出编辑模式,shift加:,键入wq。保存
JAVA_HOME的路径:
配置环境变量,添加如下环境变量
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
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
最后输入javac,如下代表成功
2.tomcat安装
终端输入,查询当前可用的tomcat版本
apt search tomcat
键入命令安装
sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-docs tomcat9-examples tomcat9-user
#启动
service tomcat9 start
#状态
service tomcat9 status
#停止
service tomcat9 stop
按q退出状态查看
配置管理员权限
cd /etc/tomcat9/
ls -al
sudo vim tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="root" password="123456" roles="manager-gui,admin-gui"/>
重启服务测试
service tomcat9 restart
3.jenkins安装
终端窗口
#添加官方软件仓库的秘钥到本地的apt秘钥中
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
将官方提供的软件仓库地址加入到本地的apt软件源中,本地用于存放软件源的文件在/etc/apt/sources.list
#将地址添加进本地的软件源列表
deb https://pkg.jenkins.io/debian-stable binary/
添加方法:
sudo vim /etc/apt/sources.list
更新我们本地的软件源缓存,然后直接安装jenkins
sudo apt update
sudo apt install jenkins
启动Jenkins
sudo /etc/init.d/jenkins start
浏览器地址栏输入本机ip加端口号8080,我这里是
http://192.168.1.6:8080/
可是,tomcat却占用了8080端口,如图
所以修改jenkins的端口
sudo vim /etc/default/jenkins
修改如下内容 HTTP_PORT=8085
重启jenkins服务
sudo /etc/init.d/jenkins restart
浏览器地址栏输入
192.168.1.6:8085
参考:https://www.cnblogs.com/shuoer/p/9471839.html
4.Jenkins的基本使用与自动化项目配置
4.1 配置Jenkins
查看密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
安装推荐插件,等待一段时间
有些插件会安装失败,多重试几次
创建管理员账号
配置完后重启Jenkins
登录后,进入后首页
4.2 Selenium自动化项目配置
4.2.1 新建一个任务
4.2.2 配置Git/Github
进入Mail Box的配置,可配置自己的GitHub仓库。
每个工作日,每两小时一次,每45分钟一次,上午九时四十五分开始,下午三时四十五分结束。
配置完后保存,任务首页在两分钟后会多出一个 Git Polling Log,可单击查看poll日志
拉取后的项目保存在/var/lib/jenkins/workspace/,可cd查看。
4.2.3 shell命令
执行情况
4.2.4 特别注意
初次运行,出现以下报错
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/chromium-browser is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
需要给Chrome添加如下参数:
option = webdriver.ChromeOptions()
option.add_argument('headless')
option.add_argument('no-sandbox')
option.add_argument('disable-dev-shm-usage')
如图,我已在我的项目中添加
4.2.5 配置HTML报告
需要安装Groovy和html插件,在Jenkins插件管理中心自行安装
build(构建) >>> add build step(增加构建步骤) >>> Execute system Groovy script
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
post-build(构建后操作) >>> add post-build action(增加构建后操作步骤) >>> Publish HTML reports
保存 >>> build now,可看到多出一个HTML Report
4.2.6 配置构建统计
这步为可选配置,因项目里没有生成xml报告。
post-build(构建后操作) >>> add post-build action(增加构建后操作步骤) >>> Publish JUnit test result report
4.2.7 配置自动发送邮件
首页 >>> Manage Jenkins >>> Configure System
Jenkins Locations >>> System admin e-mail address(系统管理员邮件地址),填写你将用哪个邮箱发送报告
返回项目配置,post-build(构建后操作) >>> add post-build action(增加构建后操作步骤) >>> Extended E-mail Notification
修改一下:Attachments 改为 /TestReport/*.html
Triggers 选为Always,可自选
保存任务,重新执行任务构建。可在接收报告的邮箱看到Jenkins下发的报告邮件