DevOps
传统:DevOps,Development 和 Operations 的组合词,是一种重视“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通合作的文化、活动或惯例。
我的理解:就是开发、测试、运维在工作中互相影响交叉的地方。将其打通,让开发参与到测试与运维的一部分工作内容中。
传统矛盾点:开发和运维这两个角色的目标不一致,导致研发和上线流程的不顺畅,最终严重影响软件上线的效率。
测试与开发运维的关系呢?每次修改了旧有的代码如果较为底层业务逻辑,测试为了保障系统运行(这块与运维的利益点一致)需要每个服务重测试并编写用例。工作效率低下,所以开发应该要提交自动化测试用例。测试根据用例可以快速测试出系统漏洞与理解更新功能点内容。
DevOps的3原则
原则 1:协调运维、测试和开发人员的目标、利益
原则2:推动高效沟通
原则3:优化整个代码开发、测试、部署流程
1.重新分配各个岗位职责。(如开发除了业务开发还需要参与测试、部署;
测试需要开发测试自动化流水线(黑盒);运维要参与一部分开发,完成自动化部署等)
2.设计 CI、CD、快速反馈,以及团队沟通等流程;
3.引入工具,实现自动化。
落地步骤:
第一,在团队内部统一认识
第二,增加“发布工程师”角色
第三,设计问题沟通流程
第四,用工具来实现流程自动化