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

文章目录

      • 1 一些相关概念
      • 2 搭建Jenkins环境
      • 3 创建一个maven项目
      • 4 对项目进行配置
      • 5 svn的安装
      • 6 svn的检出
      • 7 将项目放入SVN中
      • 8 使用Jenkins持续集成SVN项目
      • 9 设置Jenkins的触发器
      • 10 Jenkins SMTP的配置
      • 11 构建后操作
      • 12 Jenkins的卸载

1 一些相关概念

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

2 搭建Jenkins环境

首先在官网上进行下载:
这里建议下载比较老一点的版本,入口:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第1张图片
我这里选的是2.138.1的版本,点击之后
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第2张图片
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第3张图片
下载之后的war包放在我的tomcat服务器的webapp目录下:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第4张图片
然后重启我的tomcat服务器,就会出现以下界面,
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第5张图片
复制下来其中的密码,因为后续的安装还需要这个密码:

然后我们打开浏览器进入tomcat服务器下的jenkins目录下http://localhost:8080/jenkins,就会出现以下页面
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第6张图片
粘贴上面的密码之后就点击右下角的继续按钮,出现如下界面我们选择安装推荐的插件。

【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第7张图片
然后就会开始下载所需要的插件啦,时间依网速而定:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第8张图片
可能某些插件会安装失败,可以按照这个博文的解决办法:
https://blog.csdn.net/tianhua79658788/article/details/78249908

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

然后进入这个页面:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第9张图片

3 创建一个maven项目

点这里我要创建一个maven的任务,但是并没有下载这个插件,于是点击左边的系统管理–>插件管理–>可选插件–>搜索maven
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第10张图片
在这里插入图片描述
安装完成后点击返回首页,创建一个新的项目,这是我们就可以看到可以新建一个maven项目啦:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第11张图片

4 对项目进行配置

我们还应该在项目中对JDK和Maven进行配置,选择系统管理–>全局工具配置
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第12张图片
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第13张图片
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第14张图片
然后点击保存。

5 svn的安装

下载并安装TortoiseSVN,已经上传至网盘:
链接:https://pan.baidu.com/s/1z0GZwUt31aHdZxocJtRhNg
提取码:18aj
然后点击安装,安装完成后你再你的电脑桌面空白处右键就能够看到这样的按钮:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第15张图片
然后再安装VisualSVN-Server,也在刚刚的网盘中,安装完成后打开并且新建仓库,项目,文件夹和用户:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第16张图片

6 svn的检出

刚刚创建的项目就可以检出到本地:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第17张图片
点击ok后会让你输入用户名和密码,就是你刚刚User中创建的用户的用户名和密码,然后出现下面这个页面就代表检出成功了:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第18张图片
这时候我们可以去那个目录看看检出的结果:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第19张图片

7 将项目放入SVN中

检出之后我们需要将自己的项目拷入。下图是我的项目中的源码和一些配置:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第20张图片
粘贴完成:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第21张图片
然后就将这些项目添加到SVN中,在这个文件夹中右键–>TortoiseSVN–>Add
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第22张图片
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第23张图片
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第24张图片
添加完成之后就要将项目文件提交到SVN服务器,右键–>SVN Commit:
在这里插入图片描述
在新弹窗中填写注释之后点击OK按钮:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第25张图片
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第26张图片
这样就算提交成功啦,我们现在再去SVN Server上一看,就会发现项目下面已经有刚刚的源代码及配置文件了:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第27张图片

8 使用Jenkins持续集成SVN项目

点开我们之前在Jenkins上面新建的项目–>配置–>源码管理–>Subversion
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第28张图片
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第29张图片
设置完成之后点击应用。
然后我们现在就可以对这个项目进行构建了,点击左侧的立即构建:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第30张图片
左下角就会出现进度条:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第31张图片
点击后可以看到此次构建的概要信息,左侧能够查看对应的详细信息:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第32张图片

9 设置Jenkins的触发器

在配置之中设置。
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第33张图片
构建起也有自己的语法,语法如下:

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
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第34张图片

  • 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+maven+svn对自动化测试脚本进行持续集成_第35张图片
    完成密保之后就会给你一个授权码
    【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第36张图片
    就能够填写到Jenkins里面。

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

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

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

【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第37张图片
最后还要配置一个东西:
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第38张图片
这时候我们测试一下能否发送成功:
在这里插入图片描述
出现这条语句并且收到邮件就是配置成功啦。
在这里插入图片描述
全局配置到这里就差不多了,更多配置建议在单个项目中进行个性配置.

11 构建后操作

点击你的项目并且进入配置,拉到最下面的构建后操作,选择倒数第三个Editable… 然后在里面做配置,我们现先制作基本配置,看是否能够构建之后成功发送邮件,然后再对邮件内容进行配置。
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第39张图片
然后点击下方的高级配置
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第40张图片
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第41张图片
保存完成后点击构建,看是否能够成功发送邮件,成功后开始对邮件内容进行配置:

  • Default Subject:邮件主题,如:

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

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


(本邮件是程序自动下发的,请勿回复!)

项目名称:$PROJECT_NAME

构建编号:$BUILD_NUMBER

svn版本号:3.5.1

构建状态:$BUILD_STATUS

触发原因:${CAUSE}

测试报告:http://127.0.0.1:8887/html/index.html

构建日志地址:${BUILD_URL}console/

构建地址:$BUILD_URL

构建报告:${BUILD_URL}testReport/

变更集:${JELLY_SCRIPT,template="html"}

  • Attachments:附件地址,填写附件的路径,如果有多个,以逗号进行分割。

  • Attach Build Log:是否添加日志,选择Attach Build Log就是要添加日志附件
    【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第42张图片
    我这里的配置是这样的,所以最后我的邮箱收到了两个附件:
    【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第43张图片

12 Jenkins的卸载

将tomcat–>webapp下的jenkins文件夹和.war文件删除
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第44张图片
再将C盘用户下的.jenkins文件夹删除
【自动化测试】使用Jenkins+maven+svn对自动化测试脚本进行持续集成_第45张图片
然后重启tomcat就已经卸载完成了。

你可能感兴趣的:(#,基于Java的自动化测试学习)