前言
上个月参加了阿里某部门搞得一个nodesj沙龙——ops first。
去了之后挺失望的,阿里介绍自己的轮子,滴滴介绍自己的轮子,360介绍自己的轮子,反正就是一场轮子大会。有关devops的实践比较少。
大部分原理
devops = Development + Operations
特点是极速的迭代和快速的用户反馈
完整研发周期
Dev
开发程序占用了我们大部分时间。需要我们不断的修改代码来完善产品
CI/CD
ci的意思是持续集成
cd的意思是持续部署
目前我接触到的大致上有俩种方法:
1、通过git hook(webhook类似
2、通过gitlab-ci
原理大部分都是做一个监听事件的功能,能够实现自动化集成和部署。这个步骤大部分情况下,在刚开始做好以后,就不用变化了。
Ops/Feedback
Ops 属于运维方面。比如nodejs的pm2,可以监控服务器运行状态,自动重启等。阿里云上面的rdc产品也提供了类似的监控功能。我们把代码部署好以后,服务运行状态很重要。
Feedback 是反馈的意思,我理解的反馈,分为用户反馈和服务器反馈。用户反馈,比如界面哪里不友好,功能缺失等,产品响应速度慢等,都需要开发人员及时结合Ops来迭代产品。
原理大致上就是系统运行监控软件,或者服务监控软件。这个步骤大部分情况也只需要部署一次。之后的开发周期期间,根据这个步骤及时反馈。
某公司基于实际前端devops流程
这个devops流程,整个都依赖于阿里云上面的服务。后来我去参加work like alibaba沙龙会议的时候,当时他们正好推出了rdc这样的一体化devops开发服务。真心不错。费用也不贵。但是为了技术核心,建议有能力的公司还是自主开发这一套比较合适。