遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

企业级持续集成实战系列(01):持续集成流程设计

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/16721826.html

为什么要写企业级持续集成(jenkins + pipeline + k8s)?

目前网上自动化持续集成的资料很多,但基本上都是局限于jenkins自由风格的job,结合shell脚本来实现持续集成,这种方式的缺点也很明显:

  1、构建出问题,排查困难

  2、构建节点挂了,就不能完成构建任务

而当前主流技术是 “ k8s + 微服务 ” 等,我们完全可以利用k8s的优势来完成持续构建任务,每次构建时可以调度到任意节点,或者是具有指定标签的节点,这就实现了高可用,k8s是动态slave,docker是静态slave;

另外,结合pipeline,可以轻松简单实现持续集成,并且哪个阶段出问题了一目了然,排查起来也容易。

 

流程设计

流程:

  1.开发提交代码

  2.拉取代码(手动、触发)

  3.mvn打包

  4.构建镜像并推送到镜像仓库

  5.新镜像发布到k8s

  6.拉取自动化测试代码

  7.自动化测试执行

  8.生成allure测试报告,同时,过程中会有相应钉钉消息推送

 

示意图(DevTestOps):

 

说明:

  用到的技术栈:git + gitlab + pipeline + maven + harbor + docker + k8s

  jenkins使用k8s作为构建环境,在某个节点执行测试

  由于环境资源不足,省去了拉取代码后的静态代码扫描(SonarQube)、mvn打包后的上传至Nexus制品库(构建结果的仓库)

  可以整合python、java等各种自动化测试框架

 

环境规划

5台虚拟机:

  192.168.117.160:harbor、jenkins等

  192.168.117.161:k8s-master

  192.168.117.162:k8s-node01

  192.168.117.163:k8s-node02

  192.168.117.180:gitlab

 

posted @ 2023-12-02 13:02  全栈测试笔记  阅读(563)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end