我是靠谱客的博主 丰富小蘑菇,最近开发中收集的这篇文章主要介绍CI(Continuous Integration)持续集成,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 为什么做CI
  • CI价值
  • 重点
  • CI系统流程
  • CI详细流程图如下
  • 代码提交流程
  • 自测环境发布流程
  • Beta环境发布流程(分支:dev)
  • 流程触发机制
  • 触发机制配置merge请求时触发
  • 操作说明

CI(Continuous Integration)持续集成,CD(Continuous Delivery) 持续交付

为什么做CI

1、分支偏离主干

2、未知项目进度

3、发现bug较晚

4、定位问题复杂

CI价值

1.二进制包准备降低风险:静态代码分析,尽早发现bug

2.自动化:自动化编译、自动化测试、自动部署、自动审查、自动反馈

3.随时发布

重点

为了提高代码质量已经每次发布到beta环境服务的稳定性,要提高自动化测试覆盖率(不仅限于接口自动化测试)

CI系统流程

流程图如下:
721287-20190806080859780-1129364164.png

CI详细流程图如下

721287-20190806080914960-807876874.png

代码提交流程

721287-20190806080923795-1509756693.png

自测环境发布流程

721287-20190806080934693-1157638389.png

1、当git lab上有代码向dev_test分支发起merge请求,触发自测环境的jenkins sonar扫描;

2、sonar扫描--针对dev_test分支;

3、单元测试--针对dev_test分支;

4、构建自测环境,并运行自测环境--针对dev_test分支;

5、执行接口自动化测试;

6、接口自动化测试通过后,在自测环境中进行功能测试、新增接口测试,并将新增测试点新增到自动化测试案例库中。

Beta环境发布流程(分支:dev)

721287-20190806080946273-190220614.png

1、当git lab上有代码向dev分支发起merge请求,触发jenkins sonar扫描;

2、sonar扫描--针对dev分支

3、单元测试--针对dev分支

4、构建自测环境,并运行自测环境--针对dev分支

5、执行接口自动化测试;

6、接口自动化测试通过后,将测试通过的dev分支发布并部署到beta环境。

流程触发机制

1、使用gitlab webhooks

721287-20190806081000771-2122611778.png

2、URL处输入构建的url地址,需增加token信息;

http://jenkins.cn/view/decision/job/decision-sonar/build

3、Secret Token 输入jenkins中需由gitlab merge请求触发的工程中配置身份令牌
721287-20190806081014887-357429072.png

触发机制配置merge请求时触发

721287-20190806081034291-1316123882.png

4、提交merge请求,触发流程

操作说明

1、新建jenkins项目
新建sonar扫描、单元测试、构建、自动化测试、beta环境构建五个项目。

2、配置meta data
721287-20190806081046593-2104125143.png

3、新建pipeline视图
721287-20190806081054812-510939737.png

4、设置CI初始项目名称
721287-20190806081102278-932622207.png

5、CI初始项目设置依赖关系.注意:依赖关系一定要顺序执行,避免形成环形依赖
721287-20190806081113934-753244768.png

6、设置预警声音(可自定义声音,音频格式的文件为wav格式,并且将音频文件打包好给叶柄添加到jenkins服务器上即可)
721287-20190806081124144-308635789.png

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:邮件内容自定义

721287-20190806081140667-154110576.png

预热内容--使用Groovy脚本新建pipeline流程

1、新建一个项目类型为Pipeline的jenkins工程
721287-20190806081151120-352080007.png

2、配置groovy脚本
721287-20190806081158637-1269033411.png

3、pipeline 模板脚本生成
721287-20190806081206026-88397891.png

4、pipeline进程查看
721287-20190806081218376-477535465.png

5、jenkins 2.0建自动化构建之pipeline语法:
721287-20190806081232506-24504703.png

转载于:https://www.cnblogs.com/chenxiba/p/11306707.html

最后

以上就是丰富小蘑菇为你收集整理的CI(Continuous Integration)持续集成的全部内容,希望文章能够帮你解决CI(Continuous Integration)持续集成所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部