搭建一个自己的集成化测试环境

持续集成与测试

1.Redmine

  • 1.1直接官网下的redmine安装过程过于复杂,所以我选择了Bitnami上的安装包,省去繁琐的过程(下载地址)

  • 1.2安装完成输入用户名和密码,注意此时的用户名密码是管理员权限,需要记牢。

  • 1.3之后用外网访问的时候出了点问题,不论怎么改设置都无法访问,查询后发现是阿里云的ECS云服务器的安全策略默认该服务器是专有的,外网访问需要修改安全组策略(一处修改为80/80,一处修改为0.0.0.0/0,具体可自行查询)

2.Git&GitStack

  • 2.1 可以单独下Git也可以用GitStack里带的git(单独下git比较方便)
  • 2.2 Git下载地址(https://git-scm.com/downloads),GitStack下载地址(https://gitstack.com/)
  • 2.3 Git下载完成后需要配置环境变量(也可不配,配的话在path里加上git的路径),GitStack是傻瓜式安装(内自带apache),按照安装过程自动安装即可,默认端口是80,下载完成后直接输入localhost/gitstack即可打开,(初始登录密码为admin,admin,未修改),登陆成功后界面如下
    图2.1
  • 2.4 在users&Groups里可以新建用户,在这里新建名为nuaa的用户,用户名密码作为之后clone和push的凭证
    图2.2
    创建完之后可以看到users里已经有了nuaa用户
    图2.3
  • 2.5 同理可以在repositories里完成项目的创建,以下是两个创建完的项目,command to clone里是之后clone的地址
    图2.4

3.Jenkins

  • 3.1 首先去jenkins官网下载jenkins(https://jenkins.io/),下载完后自动安装,安装完成以后就会自动进入初始界面,用jenkins/secrets里的初始password登录,就可以登录jenkins
    图3.1

  • 3.1 接下来是配置,可参考博客
    首先对全局安全进行配置,勾选允许用户注册,并打开安全矩阵,安全矩阵可以规定每个用户的行为
    图3.2

  • 3.2 接着需要在jekins中配置全局工具,暂时配置jdk,maven,git,配置具体不做过多叙述,配置完成后如下
    图3.2
    图3.3
    图3.4
    图3.5

  • 3.3 安装必要的插件,插件较多,除了博客中的外还需要

    Maven Info Plugin
    Maven Integration plugin
    Maven Release Plug-in

  • 3.4 安装插件完成之后重启jenkins,接着我们就可以new一个maven project,这里以test为例
    图3.6
    在Source Code Management选择git,并把之前gitstack创建的clone地址写入
    图3.7
    接着可以勾选轮询SCM,项目就会按时重复运行
    图3.8
    接着点击save,发现项目创建成功
    图3.9

  • 3.5 创建成功之后点击立即构建,若是不成功显示红色,成功则会显示蓝色
    图3.10
    因为该clone地址的库是我之前写好的一个maven项目,所以已经可以进行测试

    • 3.6 在系统管理的管理用户里新建一个用户nuaa
      图3.11

4.项目开发测试完整流程(若有人接手项目可看此流程)

  • 4.1 以nuaa账户为例,首先在登录gitstack,在上面新建一个项目maventest2(不要忘记往项目中添加可访问用户),接着可在本机clone下来,输入如下指令,并输入之前创建的用户名和密码
    图4.1
  • 4.2 将之前开发者实验2的项目放入,再push回去git库

    git add .
    git commit -m “add files”
    git push

接着输入用户名密码就会显示update成功,这时候查看gitstack就会看到提交记录
图4.2

  • 4.3 在jenkins里对之前新建的项目test进行重新配置,添加访问git的账号为nuaa
    图4.3
  • 4.4 重新构建项目,发现项目构建成功,可以看下测试集正好是之前junit生成的两个测试类(完成冒烟测试)
    图4.4
    图4.5
  • 4.5 若是出现测试错误会显示黄色,我重新修改了代码,注入错误以后上传到git,依然是maventest2.git,这时候新建一个maven2项目,配置同上,选择立即构建,可以看到出现了测试错误
    图4.6
  • 4.6 点开test-result可以看到错误出现在哪
    图4.7
  • 4.7 为了更好的进行缺陷管理和跟踪,我将redmine集成到jenkins中(这里两个集成就学到了皮毛),首先安装如下插件

    Redmine Plugin
    Redmine Metrics Report

  • 4.8 接着在系统管理里配置redmine路径及版本,版本可在redmine的管理->配置->版本库里查看,还需要在API中勾选如下配置
    图4.8
  • 4.9 最后在创建项目的时候勾选Assign Redmine project即可将jenkins项目与redmine集成,这里面项目名选择redmine里已创建的项目名
    图4.9
  • 4.10 回到之前的测试错误,发现错误以后在redmine里进行问题登记并分配给人员去处理,先点击左侧redmine,然后用redmine账号密码登陆,进去发布问题并让人解决(先在项目里添加此项目人员,否则无法指派给他人)
    图4.10
    图4.11
    图4.12
  • 4.11 项目人员接到指派任务以后,clone代码测试修复以后再传到git库,若是正确SCM轮询会自动跑通,接着就可以到redmine上把错误登记解决并登记工时,流程结束
    图4.13
    图4.14
    图4.15
求打赏