什么是流水线
什么是流水线
过去的劳动密集型企业中,流水线
是比手工作坊效率更高的一种生产方式:工人围绕着流水线
,从一个工序到另一个工序,产品被源源不断地生产出来。
在信息技术时代,也经历了从手工作坊到流水线
的进化模式。
流水线
指的并不是工厂中的生产线,也不是哪一台或哪几台具体的机器,而是一个体系。
在早期的互联网大厂中,它的结构就像是下面这样的。

Jira、Confluence、Gitlab和Jenkins是早期比较流行的项目管理
、知识协同
、源码管理
和编译构建
工具,它们在各自的领域中都处于头部地位,这四个我都用过。
一般流程
初始时,由
产品经理
、项目经理
、公司领导
或其他产品
/项目
的利益干系人
提出原始需求,并在通过需求评审后将这些细分需求逐步录入到Jira这个业界顶级(这是我个人对Jira的使用体验,可以说在业界还没有哪个比它更好用)的项目管理
软件中。开发工程师可以通过邮件或登录Jira查看分配给自己的开发需求。
功能开发完成后,工程师将实现代码提交到Gitlab。
Jenkins将编译、构建并打包的业务组件发布到指定的服务器上,然后通知测试工程师、产品经理等角色执行交付验收工作。
测试工程师、产品经理等拉取最新版本进行测试,通过将测试结果发布到
知识协同
工具Confluence中去,全员共享测试报告、验收结果等内容。如果测试出现较多
Bug
,或者后续又有新的开发需求,那么会由测试工程师、产品经理再次将需求或Bug
提交到Jira,一个新的闭环流程再次展开。在以上的每一步,参与开发的每一个角色,每一个人,都可以将产品、项目相关的
知识
,例如接口文档
、需求说明书
、测试报告
、验收报告
等发布到Confluence中。
以上的各个步骤形成了一个完整的业务闭环流水线
,所有的源码管理
、编译打包
、服务部署
等费时费力又枯燥的工作都是由工具自动完成,开发团队只需要关注业务需求就行了。
上几张图直观感受一下这些工具的强大。





更好的云服务
但是在云服务已经越来越普及,且越来越便宜的情况下,早期的那种企业内部架设的流水线就已经逐步被淘汰了。

可以看到,Jira、Confluence、Jenkins和Gitlab全都没有了,取而代之的是云服务中的源码管理
、知识协同
、编译构建
和服务部署
一整套的原生服务。
这种云服务相比公司自己搭建,它天然就有巨大的优势。
使用成本为
0
,因为它不要钱(至少目前是这样),可以免费使用。访问更方便,以前在公司内网需要架设VPN才能在家里访问,云服务就不用。
集成度更高,以前需要安装部署至少4个服务,但现在一个都不用部署了,注册一个云账户,随时随地都能用了。
功能更多,云服务完全可以实现功能的无限扩张,但公司内部私有的服务就做不到了。
虽然局部功能,例如
需求管理
上没有Jira做得那么好,但整体所带来的巨大优势已经足以抵消这种不足了,而且它还在持续改进。

从上面这幅图可以看到,云端流水线的的强大,是本地服务完全比不了的,而这还仅仅只是云服务的冰山一角。
所以接下来的部分,Jira、Confluence、Jenkins和Gitlab都不再是关注重点,而且Jira和Confluence的安装部署较为麻烦,所以干脆略过,了解一下就行了。
感谢支持
更多内容,请移步《超级个体》。