企业级持续集成实战系列(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
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!