持续集成与测试
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.4 在users&Groups里可以新建用户,在这里新建名为nuaa的用户,用户名密码作为之后clone和push的凭证

创建完之后可以看到users里已经有了nuaa用户
- 2.5 同理可以在repositories里完成项目的创建,以下是两个创建完的项目,command to clone里是之后clone的地址

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

3.1 接下来是配置,可参考博客
首先对全局安全进行配置,勾选允许用户注册,并打开安全矩阵,安全矩阵可以规定每个用户的行为
3.2 接着需要在jekins中配置全局工具,暂时配置jdk,maven,git,配置具体不做过多叙述,配置完成后如下




3.3 安装必要的插件,插件较多,除了博客中的外还需要
Maven Info Plugin
Maven Integration plugin
Maven Release Plug-in3.4 安装插件完成之后重启jenkins,接着我们就可以new一个maven project,这里以test为例

在Source Code Management选择git,并把之前gitstack创建的clone地址写入
接着可以勾选轮询SCM,项目就会按时重复运行
接着点击save,发现项目创建成功
3.5 创建成功之后点击立即构建,若是不成功显示红色,成功则会显示蓝色

因为该clone地址的库是我之前写好的一个maven项目,所以已经可以进行测试- 3.6 在系统管理的管理用户里新建一个用户nuaa

- 3.6 在系统管理的管理用户里新建一个用户nuaa
4.项目开发测试完整流程(若有人接手项目可看此流程)
- 4.1 以nuaa账户为例,首先在登录gitstack,在上面新建一个项目maventest2(不要忘记往项目中添加可访问用户),接着可在本机clone下来,输入如下指令,并输入之前创建的用户名和密码
- 4.2 将之前开发者实验2的项目放入,再push回去git库
git add .
git commit -m “add files”
git push
接着输入用户名密码就会显示update成功,这时候查看gitstack就会看到提交记录
- 4.3 在jenkins里对之前新建的项目test进行重新配置,添加访问git的账号为nuaa

- 4.4 重新构建项目,发现项目构建成功,可以看下测试集正好是之前junit生成的两个测试类(完成冒烟测试)


- 4.5 若是出现测试错误会显示黄色,我重新修改了代码,注入错误以后上传到git,依然是maventest2.git,这时候新建一个maven2项目,配置同上,选择立即构建,可以看到出现了测试错误
- 4.6 点开test-result可以看到错误出现在哪
- 4.7 为了更好的进行缺陷管理和跟踪,我将redmine集成到jenkins中(这里两个集成就学到了皮毛),首先安装如下插件
Redmine Plugin
Redmine Metrics Report - 4.8 接着在系统管理里配置redmine路径及版本,版本可在redmine的管理->配置->版本库里查看,还需要在API中勾选如下配置
- 4.9 最后在创建项目的时候勾选Assign Redmine project即可将jenkins项目与redmine集成,这里面项目名选择redmine里已创建的项目名
- 4.10 回到之前的测试错误,发现错误以后在redmine里进行问题登记并分配给人员去处理,先点击左侧redmine,然后用redmine账号密码登陆,进去发布问题并让人解决(先在项目里添加此项目人员,否则无法指派给他人)
- 4.11 项目人员接到指派任务以后,clone代码测试修复以后再传到git库,若是正确SCM轮询会自动跑通,接着就可以到redmine上把错误登记解决并登记工时,流程结束