CI(Continuous Integration)持续集成,CD(Continuous Delivery) 持续交付
1、分支偏离主干
2、未知项目进度
3、发现bug较晚
4、定位问题复杂
1.二进制包准备降低风险:静态代码分析,尽早发现bug
2.自动化:自动化编译、自动化测试、自动部署、自动审查、自动反馈
3.随时发布
为了提高代码质量已经每次发布到beta环境服务的稳定性,要提高自动化测试覆盖率(不仅限于接口自动化测试)
1、当git lab上有代码向dev_test分支发起merge请求,触发自测环境的jenkins sonar扫描;
2、sonar扫描--针对dev_test分支;
3、单元测试--针对dev_test分支;
4、构建自测环境,并运行自测环境--针对dev_test分支;
5、执行接口自动化测试;
6、接口自动化测试通过后,在自测环境中进行功能测试、新增接口测试,并将新增测试点新增到自动化测试案例库中。
1、当git lab上有代码向dev分支发起merge请求,触发jenkins sonar扫描;
2、sonar扫描--针对dev分支
3、单元测试--针对dev分支
4、构建自测环境,并运行自测环境--针对dev分支
5、执行接口自动化测试;
6、接口自动化测试通过后,将测试通过的dev分支发布并部署到beta环境。
1、使用gitlab webhooks
2、URL处输入构建的url地址,需增加token信息;
http://jenkins.cn/view/decision/job/decision-sonar/build
3、Secret Token 输入jenkins中需由gitlab merge请求触发的工程中配置身份令牌
1、新建jenkins项目 新建sonar扫描、单元测试、构建、自动化测试、beta环境构建五个项目。
5、CI初始项目设置依赖关系.注意:依赖关系一定要顺序执行,避免形成环形依赖
6、设置预警声音(可自定义声音,音频格式的文件为wav格式,并且将音频文件打包好给叶柄添加到jenkins服务器上即可)
7、Sonar扫描项目配置 mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent mvn sonar:sonar
8、单元测试项目配置 -Dmaven.test.skip=false
9、自动化项目配置 http://jenkins.puhuitech.cn/view/decision/job/puhui-decision-autotest/
10、发送测试报告
1)、安装jenkins插件,Editable Email Notification
2)、选择构建后操作,Editable Email Notification;
3)、Project Recipient List:输入收件人的邮箱地址,收件人之间使用逗号隔开;
4)、Default Subject:邮件主题
5)、Default Content:邮件内容自定义
预热内容--使用Groovy脚本新建pipeline流程