公司业务代码推送及如何发布?

210 阅读1分钟

代码被分成了三层:【个人代码——主分支代码——线上代码】,其中线上代码又分成了dev、qa、pro 三个版本。

一般对于公司的开发人员来说,代码的模块化开发就离不开版本的管理,开发人员只对个人代码拥有可控权,而无法直接影响改变主分支代码,当需要提交到主分支时,需要发起 merge 请求,并经过管理员 review 代码后,将其代码合并到主分支。 对于主分支代码来说,它和线上代码是隔离的,一般是有管理员将指定版本发布到指定环境中去,无论是哪个dev、qa 还是 pro,都将直接从 gitlab 上拉取指定提交,然后打包发布。

传统前后端分离项目中,前端代码通常由前端自己独立部署,打包完成后,直接部署到指定目录下。但该流程有几个严重的问题:

  • 缓存问题:为了提高用户访问速度,降低加载资源带来的流量压力,我们通常会对前端静态资源做缓存处理。但缺点在于,当我们需要发布或者回滚版本时,不可避免的会有用户访问到缓存静态文件。
  • 版本发布、回滚速度慢:传统方案,每次需要发布、回滚都需要重新打包发布代码。这个流程一方面比较慢,另一方面,不一定能准确打包到具体的某一次提交(不准确)。