文章目录
- 一、概念
- 二、地位
- 三、目标
- 四、要求
- 五、具体手段
一、概念
是一组过程、方法与系统的统称,有助于打破开发、测试、运维、交付部门之间的壁垒,提高部门间的沟通协助能力。
二、地位
应成为公司的一种理念、文化、哲学。
三、目标
实现更加高效的部署、测试、交付,持续提高产品的迭代效率和可靠性,让开发写的代码"所写即所见(能够快速部署进行展现),所见即所得(建立完善的反馈机制,第一时间知道代码的质量)"
四、要求
1、在产品设计时,不仅要从开发角度考虑,还需从测试、运维、交付角度去综合考虑
2、最大程度减少人工干预,不断提高其自动化、智能化
3、支持多次提交代码,快速编译、部署、测试
五、具体手段
1、使用Git进行代码管理
2、使用持续集成工具(如Jenkins)进行编译打包,使用Docker构建镜像
3、用Jfrog管理制品,Harbor存放Docker镜像
5、使用K8S编排、管理容器
6、使用测试工具(如sonarQube、Selenium)进行质量把控、集成测试
7、使用持续部署工具(如Argo CD)进行版本更新
8、使用自动化运维工具(如Ansible)进行维护管理、客户交付
9、使用监控系统(如Prometheus)进行24小时不间断监控,并实现自动告警、通知、修复
10、搭建完备的日志系统(如ELK),让问题可追溯