自动化测试jenkins

一、Jenkins所在位置

由程序员将代码编写完成后,通过eclipse/idea所集成的构建工具像maven或gradle进行本机的单机构建,跑一下测试用例,然后将代码提交到Git/Svn,由一个专门管理代码的人(项目经理/技术经理)全部拉下来进行一个手动的集成(所有的功能模块打包到一起),构建(把源代码编译完成成为我们目标的class文件,包括相关的依赖,冲突等),测试,全部跑通之后打包下来部署到测试服务器上,供测试人员来使用,到没有问题的时候把编译好的部署到外网上以供生产环境使用。

由于专门管理的人经常耗时耗力,还会有一些人为上的瑕疵或者疏漏保证不了每次构建都能成功,或者是有什么代码提交的时候在冲突方面解决的并不是特别的好,我们在开发的过程当中,我们可能只关注了自己功能的开发,有一些zar包上的依赖冲突,有一些代码上的依赖冲突,都有可能会发生,所以这是一件特别繁重的事情,所以我们提出来一种jenkins自动化持续集成和持续构建,持续测试,持续发布,能够有效的减少负担,让所有工作变得自动化同时也能够及时的完成工作,当开发人员把代码提交到git上的时候,我们能够按照时间段或者是按照一些条件,能够完成自动化的构建集成,同时我们的测试也可以帮我们一块帮我们跑出来,把我们的测试报告,比如有哪些的功能模块没有跑通的,全部在整体跑完之后发送给我们的相关研发人员,这样的话虽然没有及时解决bug,但能让我们更快的找到系统中所存在的问题,这就是jenkins所出在地位,它能够替代掉一个人,让我们把集成测试这个工作安排在每一天,一般来说敏捷测试会在每一天晚上构建一次代码,如果要是有一些传统的项目并不需要每天构建,以不至于在错误的路上越走越远,到最后统一集成的时候会出现特别严重的冲突,需要花很长时间解决,jenkins也是由java开发出来的软件,或者说是一套管理系统,他能够有机的把我们所有的开发环节都链接到一起,从源代码托管服务器上把源代码拉去到jenkins服务器上,jenkins依托我们额外的插件,例如maven或者gradle,帮我们去在jenkins的本机完成构建,替换掉了管理员的一部分操作,构建完成之后要是一旦失败了,他会发送报告,成功之后会帮我们跑测试用例,测试用例跑通之后没什么问题,还可以帮我们构建完成之后自动化的把构建好的zar包或者war包帮我们发送到测试服务器上,以供测试人员使用。

Jenkins + Maven + Git持续集成基础使用

二、GitLab服务器配置(在ssh下安装)

1.创建一个虚拟器Jenkins-GitLab-ssh

2.安装依赖 

yum install -y curl policycoreutils-python openssh-server perl

3.配置镜像

curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash

4.开始安装

EXTERNAL_URL="http://192.168.198.129" yum install -y gitlab-jh

这里的地址填写自己的服务器ip,因为新版的是极狐gitlab有jh,老版本的就没有。

5.安装完成之后启动输入命令gitlab-ctl start,以下是gitlab的常用命令

  • gitlab-ctl start             启动所有gitlab组件
  • gitlab-ctl stop             停止所有gitlab组件
  • gitlab-ctl restart          重启所有gitlab组件
  • gitlab-ctl reconfigure  启动服务
  • vi /etc/gitlab/gitlab.rb  修改默认的配置文件
  • gitlab-ctl tail                查看日志

6.gitlab默认是80端口,将其改为8600端口,在/etc/gitlab/gitlab.rb中修改配置文件

修改上图中椭圆标注的内容为当前Linux系统实际的ip地址和给gitlab分配的端口号

使gitlab的配置文件生效

gitlab-ctl reconfigure

然后在防火墙中添加永久端口号8600

firewall-cmd --add-port=223/tcp --permanent

查看永久开放的端口

firewall-cmd --list-ports --permanent

配置结束后需要输入重载命令并重启防火墙以生效配置

firewall-cmd --reload

systemctl restart firewalld

重启gitlab

gitlab-ctl restart

7.在网页中输入地址登录gitlab:http://192.168.198.129:8600

由于是第一次登录用户名就是root,密码存放在了/etc/gitlab/initial_root_password中,24小时后会被清除。

8.登录成功后修改密码,点击左边的右上角,下拉栏中点击编辑个人资料,然后左边栏中点击密码。

三、上传项目到GitLab

我这里以IDEA为例将项目上传至GitLab

1.安装本地git仓库,下载git,下载链接:点击我跳转到下载地址,下载后无脑next下一步安装成功。

2.在IDEA左上角依次点击File > Settings 

3.在Settings左侧栏中依次点击Version Control > Git,在Path to Git executable中输入自己下载的git所在的路径,然后找到Git\cmd\git.exe这个,点击右侧的Test查看版本号,出现版本号则为成功。

4.将代码提交到本地git仓库中。

在IDEA中点击上方SVN,在弹出的下拉栏中点击Create Git Repository,选择自己要上传的项目。

然后右击项目选中git > Add将代码拉到本地仓库。

5.右击项目点击Git > Commit Direction将代码提交

6.填写commit message,analyze code是分析是否有错误,报错等可以不勾选,减少时间。

提交完成之后在右下角可以看到一个master的分支。

 7.首先GitLab点击左上角的加号弹出下拉栏,点击新建项目/仓库

8.进去之后点击创建空白项目

9.进入后填写项目名称,项目的地址可以使用用户名root,点击新建项目

10.在创建好的项目中点击代码复制http路径。

11.在IDEA中右击项目依次点击Git > Manage Remotes

12.在弹出的对话框中点击加号,将复制的路径填入。

13.将代码提交到远程仓库中,在IDEA的上面点击Git栏,出现下拉框点击push。

14.选择将代码要添加的分支master,点击push完成上传。

15.回到GitLab中点击main选择master分支,就能看到代码啦。

16.在代码检查完成之后,点击创建合并请求将两个分支的代码合并到一起。

配置下基本信息后点击创建。

17.最后点击批准,合并。

四、Jenkins服务器配置

1.将系统自带的jdk删除。

  • 使用命令查看当前操作系统自带JDK环境:rpm -qa|grep jdk (rpm -qa:查询所安装的所有rpm包)
  • 使用yum命令卸载所有JDK:yum -y remove java-1.7.0-openjdk-headless-1.7.0.251-2.6.21.1.el7.x86_64

2.查看可用的jdk包:yum search java|grep jdk 需要下载大于11的版本,这里我们安装11

3.下载jdk11:yum install -y java-11-openjdk

4.输入java -version查看版本

5.下载Jenkins的war包:点我跳转到下载地址

6.将下载好的jenkins.war包放到服务器的root路径下。

7.这里jenkins服务器默认端口是8080,我们需要在防火墙里将8080端口开放。 

8.运行jenkins.war:java -jar jenkins.war

9.等待几分钟输入网址:192.168.198.101:8080,将密码填入,这里密码已经在控制台中显示出来了,进入之后我们选择安装他推荐的插件,等待之后开始创建管理员用户。

10.后面无脑下一步进入jenkins,后面需要我们从jenkins服务器上帮我们从git上拉取代码,拉完之后回来需要我们在本地构建一下,就用到了这个Maven,我们就需要在jenkins这台服务器上装上。

11.下载Maven:点击我跳转到下载地址

12.下载后传到/root目录中

13.对maven包进行操作

  • 将maven包解压缩:tar -zxvf apache-maven-3.9.6-bin.tar.gz
  • 然后将其移走:mv apache-maven-3.9.6 /usr/local/maven
  • 执行maven:/usr/local/maven/bin/mvn
  • 查看版本号:/usr/local/maven/bin/mvn -v

14.安装git:yum install git

五、集成allure报告

1.安装git、allure插件

2.配置插件

 

3.创建项目first

4.填写git仓库地址,修改为main分支

5.测试步骤选择填写一段代码

6.测试步骤完成后的动作选择生成allure报告

7.sava保存后,build now运行

8.创建test项目,填写项目路径

9.构建命令

10.增加groovy脚本,因为在我们jenkins里面他会经常让html的代码无法显示,会有样式丢失,这个是固定写法。

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

11.添加allure报告

临时temp报告路径

html报告路径

六.持续集成企业微信

下载插件Qy Wechat

在企业微信中新增一个机器人,复制Webhook地址

将Webhook地址填入

构建后的操作,填入Webhook地址

七.集成电子邮件通知 

在网易邮箱中设置POP3/SMTP/IMAP

点击开启,生成密码

在系统配置中填写系统管理员邮件地址

进行smtp server跟email后缀的配置

填写邮箱,跟生成的密码

接受邮件的账户

邮件的标题一般是固定的,以及邮件的内容

将构建后email的什么时候触发邮件,默认的是失败后触发,将Failure-any删掉,换成总是触发

八.构建定时项目

* * * * *表示分时日月年,例:27 21 * * *表示每天的21点27分时构建一次。

九.python发送邮件模块的封装

1。新建一个email_ manage.py文件

2.新建一个test_case的测试用例

  • 30
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值