【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成

1 一些相关概念

  1. 集成
    是指软件个人研发的部分想软件整体交付,以便尽早发现个人开发部分的问题。
    把多个开发工程师写的代码集成到同一个分支,然后经过编译、测试打包(项目构建)
  2. 持续集成
    频繁的将代码集成到主干
    快速发现错误
    防止分支大幅偏离主干
  3. Jenkins
    基于java开发的持续集成工具,可用于监控持续重复的工作,可用于软件版本发布、项目测试,可以使得软件的持续集成变成可能

2 搭建Jenkins环境

首先在官网上进行下载:
这里建议下载比较老一点的版本,入口:
在这里插入图片描述
我这里选的是2.138.1的版本,点击之后
在这里插入图片描述
在这里插入图片描述
下载之后的war包放在我的tomcat服务器的webapp目录下:
在这里插入图片描述
然后重启我的tomcat服务器,就会出现以下界面,
在这里插入图片描述
复制下来其中的密码,因为后续的安装还需要这个密码:

然后我们打开浏览器进入tomcat服务器下的jenkins目录下http://localhost:8080/jenkins,就会出现以下页面
在这里插入图片描述
粘贴上面的密码之后就点击右下角的继续按钮,出现如下界面我们选择安装推荐的插件。

在这里插入图片描述
然后就会开始下载所需要的插件啦,时间依网速而定:
在这里插入图片描述
可能某些插件会安装失败,可以按照这个博文的解决办法:
https://blog.csdn.net/tianhua79658788/article/details/78249908

然后要记得设置用户名和密码,后面登陆要用。

然后进入这个页面:
在这里插入图片描述

3 创建一个maven项目

点这里我要创建一个maven的任务,但是并没有下载这个插件,于是点击左边的系统管理–>插件管理–>可选插件–>搜索maven
在这里插入图片描述
在这里插入图片描述
安装完成后点击返回首页,创建一个新的项目,这是我们就可以看到可以新建一个maven项目啦:
在这里插入图片描述

4 对项目进行配置

我们还应该在项目中对JDK和Maven进行配置,选择系统管理–>全局工具配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后点击保存。

5 svn的安装

下载并安装TortoiseSVN,已经上传至网盘:
链接:https://pan.baidu.com/s/1z0GZwUt31aHdZxocJtRhNg
提取码:18aj
然后点击安装,安装完成后你再你的电脑桌面空白处右键就能够看到这样的按钮:
在这里插入图片描述
然后再安装VisualSVN-Server,也在刚刚的网盘中,安装完成后打开并且新建仓库,项目,文件夹和用户:
在这里插入图片描述

6 svn的检出

刚刚创建的项目就可以检出到本地:
在这里插入图片描述
点击ok后会让你输入用户名和密码,就是你刚刚User中创建的用户的用户名和密码,然后出现下面这个页面就代表检出成功了:
在这里插入图片描述
这时候我们可以去那个目录看看检出的结果:
在这里插入图片描述

7 将项目放入SVN中

检出之后我们需要将自己的项目拷入。下图是我的项目中的源码和一些配置:
在这里插入图片描述
粘贴完成:
在这里插入图片描述
然后就将这些项目添加到SVN中,在这个文件夹中右键–>TortoiseSVN–>Add
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加完成之后就要将项目文件提交到SVN服务器,右键–>SVN Commit:
在这里插入图片描述
在新弹窗中填写注释之后点击OK按钮:
在这里插入图片描述
在这里插入图片描述
这样就算提交成功啦,我们现在再去SVN Server上一看,就会发现项目下面已经有刚刚的源代码及配置文件了:
在这里插入图片描述

8 使用Jenkins持续集成SVN项目

点开我们之前在Jenkins上面新建的项目–>配置–>源码管理–>Subversion
在这里插入图片描述
在这里插入图片描述
设置完成之后点击应用。
然后我们现在就可以对这个项目进行构建了,点击左侧的立即构建:
在这里插入图片描述
左下角就会出现进度条:
在这里插入图片描述
点击后可以看到此次构建的概要信息,左侧能够查看对应的详细信息:
在这里插入图片描述

9 设置Jenkins的触发器

在配置之中设置。
在这里插入图片描述
构建起也有自己的语法,语法如下:

This field follows the syntax of cron (with minor differences). Specifically, each line consists of 5 fields separated by TAB or whitespace:
MINUTE HOUR DOM MONTH DOW  ,指每个元素用TAB或者空格分开
MINUTE	Minutes within the hour (0–59)   分钟数
HOUR	The hour of the day (0–23)   时钟数
DOM	The day of the month (1–31)   日期
MONTH	The month (1–12)   月份
DOW	The day of the week (0–7) where 0 and 7 are Sunday.  星期几,0和7都代表星期天
To specify multiple values for one field, the following operators are available. In the order of precedence,

 - specifies all valid values     指所有的值
M-N specifies a range of values   指一定范围的值
M-N/X or */X steps by intervals of X through the specified range or whole valid range   指在一定范围内 / 所有满足间隔X的值
A,B,...,Z enumerates multiple values  列举了这一部分的值

为了实现系统负载均衡,会使用H这个符号。使用此符号,Jenkins会根据当前系统的压力分配任务去确定执行的具体时间,避免出现同一时间高并发的问题,H可以和范围一起使用,H符号可以被认为是一个范围内的随机值。

example:
每十五分钟执行一次(可能在:07,:22,:37 :52)
H/15 * * * *
在每小时前半小时中每隔十分钟跑一次(三次,可能在:04,:14,:24)
H(0-29)/10 * * * *
每个工作日的上午9点45分开始到下午4点每两小时间隔执行一次,注意:H(9-16)指9:00-16:59
45 9-16/2 * * 1-5
1到11月每个月的1号和15号执行,当前具体执行时间不确定
H H 1,15 1-11 *

10 Jenkins SMTP的配置

构建完成之后将结果发送至邮箱,先祖要安装插件Email Extension Plugin,你可以先去已安装看看有没有。
在这里插入图片描述
然后对Extended E-mail Notification进行设置,系统管理–>系统设置–>Extended E-mail Notification
在这里插入图片描述

  • SMTP server
    根据你的邮箱类型在网上查找,qq邮箱为smtp.qq.com

  • 邮箱后缀
    qq邮箱就是@qq.com

  • 高级–> Use SMTP Authentication
    简单邮箱传输协议授权,勾选上

  • 高级–> User Name
    使用那个用户名发送,就填写QQ邮箱的地址

  • 高级–> Password
    不是邮箱密码,是在QQ邮箱申请开通IMAP/SMTP服务后收到的密码,这个如何获得?
    登录QQ邮箱,点击设置–>账户–>最下面的POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,如下图所示点击开启后要完成密保。
    在这里插入图片描述
    完成密保之后就会给你一个授权码
    在这里插入图片描述
    就能够填写到Jenkins里面。

  • Use SSL
    使用SSL安全传输,建议勾选。

  • SMTP port
    QQ邮箱的端口号为465

  • Default Content Type
    默认发送邮件的类型,可以是文本类型也可以是HTML。建议选择HTML。

在这里插入图片描述
最后还要配置一个东西:
在这里插入图片描述
这时候我们测试一下能否发送成功:
在这里插入图片描述
出现这条语句并且收到邮件就是配置成功啦。
在这里插入图片描述
全局配置到这里就差不多了,更多配置建议在单个项目中进行个性配置.

11 构建后操作

点击你的项目并且进入配置,拉到最下面的构建后操作,选择倒数第三个Editable… 然后在里面做配置,我们现先制作基本配置,看是否能够构建之后成功发送邮件,然后再对邮件内容进行配置。
在这里插入图片描述
然后点击下方的高级配置
在这里插入图片描述
在这里插入图片描述
保存完成后点击构建,看是否能够成功发送邮件,成功后开始对邮件内容进行配置:

  • Default Subject:邮件主题,如:

    Phoenix项目自动化测试通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS

  • Default Content:邮件内容,这里有个模板,仅供参考

<hr>
(本邮件是程序自动下发的,请勿回复!)<br><hr>
项目名称:$PROJECT_NAME<br><hr>
构建编号:$BUILD_NUMBER<br><hr>
svn版本号:3.5.1<br><hr>
构建状态:$BUILD_STATUS<br><hr>
触发原因:${CAUSE}<br><hr>
测试报告:<a href="http://127.0.0.1:8887/html/index.html">http://127.0.0.1:8887/html/index.html</a>
<br><hr>
构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console/</a><br><hr>
构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br><hr>
构建报告:<a href="${BUILD_URL}testReport">${BUILD_URL}testReport/</a><br><hr>
变更集:${JELLY_SCRIPT,template="html"}<br><hr/>
  • Attachments:附件地址,填写附件的路径,如果有多个,以逗号进行分割。

  • Attach Build Log:是否添加日志,选择Attach Build Log就是要添加日志附件
    在这里插入图片描述
    我这里的配置是这样的,所以最后我的邮箱收到了两个附件:
    在这里插入图片描述

12 Jenkins的卸载

将tomcat–>webapp下的jenkins文件夹和.war文件删除
在这里插入图片描述
再将C盘用户下的.jenkins文件夹删除
在这里插入图片描述
然后重启tomcat就已经卸载完成了。

猜你喜欢

转载自blog.csdn.net/qq_34659777/article/details/88825181