产品经理学技术:你不知道的上线流程

2021-11-02 14:47:26 浏览数 (1)

最近有些产品经理咨询小编,功能上线流程具体是怎样的,为什么后台先上,前端后上,为什么会有脏数据,代码冲突和代码覆盖是什么意思?下面讲下上线一个PC端新功能大概需要走的流程和原因:

大致的上线流程图如下:

01

分支代码提交、合并、打版本号

很多时候会出现多人协同开发的场景,那么代码的分支管理就尤为重要了。现在大多数公司都会选择用git作为分支和版本管理的工具。 我们一般会这样进行分支管理:

master分支:线上环境正在使用的分支

dev分支:测试环境正在使用的分支

其他功能分支:开发们正在开发的分支

当需要上线一个多人在开发的功能时,每个人就要把自己分支上面的代码合并到master分支上面去,但是有可能会出现代码冲突的情况,如果两个人同时在改同一个文件的同一行代码,就会出现代码冲突。有时候冲突没解决好,就会出现代码被覆盖的情况,所以在解决冲突时还是要认真处理。当然出现代码覆盖也不要惊慌,git是支持回滚代码的,只要回滚到相应的版本就可以啦。 合并完成之后就要给代码打一个版本号,方便后续的回滚和维护。版本号一般会遵循需求的版本。最后再把合并好的代码和版本提交到远程代码仓库。

02

初始化数据库

如果该新功能涉及到了数据库,比如新增了几张表,在老的表新增了几个字段,新表需要初始化预存数据,那么就需要在后台发布之前做好这些事情,不然可能会导致后台不能正常的访问数据库。

03

后台发布和部署

因为前端依赖了后台的接口,所以后台先上线,前端后上线。不然的话可能前端会因为访问不到后台新增的接口而报错。后台发布时,根据代码版本号,选择将要上线的代码版本,然后发布到服务器就ok了,需要注意的是如果该后台还依赖了更底层的第三方后台,则需要保证第三方后台先发布。

04

前端发布

现在的前后端部署,已经是前后端分离部署的了。前端发布,也一样需要先选择要发布的代码版本,然后把静态资源(html,css,js)打包好,发布到远程CDN服务器上面,然后会给到一个CDN的静态资源地址给后台,在请求网站首页时,服务器就会返回CDN上面的html文件到浏览器。

05

线上验证

前后端发布完后,就要开始线上验证了。新功能发布到线上后,导致严重的bug,影响了线上使用,该怎么办?这时就需要使用版本回滚功能了,还记得上面讲的给代码包打版本号吗,只要把前端和后台的代码回退到稳定版本,然后重新发布下就可以啦。经常听到有人问线上的脏数据是怎么产生的,是有几种可能性的。第一,可能是因为线上bug,导致正常的功能执行流程中断,然后数据没有同步完整,可能就会产生脏数据。第二,也可能是有人在线上做验证时,不小心生成了一些线上的非正常数据。线上脏数据需要人工去后台排查原因和回滚数据。

0 人点赞