一路狂飙

大家谈论的Devops都是什么?

DevOps分解下,其实就是dev和ops,开发和运维

从职能上来讲,他们是一对天敌。

因为dev希望自己开发的功能能快速上到上线环境,也许是修bug,也许是上新的功能。所以开发的诉求是自己恨不得修改了一行代码,线上环境马上就能体现出来。

而ops则不然,线上跑的好好的环境突然需要变更了,就引入了不稳定因素,万一出什么问题了,自己又变成背锅侠了。

但是开发好的功能又不能不上线,所以还需要引入测试的角色,来保证开发的功能是ok的,经过验证的。但实际工作中的场景比这要复杂很多,大部分原因都是环境的差异引起的。开发环境、测试环境、预发布环境、线上环境各有各的特点。

分析下引起不稳定因素。

  1. 开发配置忘记改了
  2. 开发用的jar包和线上的jar包不一致
  3. 操作系统版本不一致
  4. 数据库忘记变更

只要是有人参与的场景,就有出错的可能。所以要将人为出错的可能性降到最低,唯一的解决办法就是不需要人参与。

因此,就需要有持续集成这么一个东西。