说一说,正常上线的流程

简介:

 

很多时候,经验是被痛苦逼出来的,流程是被错误逼出来的。在上线的过程当中,这段时间遇到了一些问题,造成了研发耽误了不少时间。原因是上线的不规范性以及没有任何的权限限制。

另外互联网项目版本开发都非常频繁。一天上线十几个小版本,也是有可能的。像我现在的公司,经常一天修改好多次文案,就需要不断的上线。如果处理不及时上线的话,会造成用户的一些误解,导致一些投诉以及不好的用户体验。这么频繁的修改上线,也是需要一定的流程和规范保证。

Git 代码管理

很多互联网公司都开始使用Git,替换了svn。Git非常适合互联网迭代以及多人多版本开发。如果让我说为什么喜欢使用Git,我喜欢切换分支,以及分支之间merge的方便快捷。

新建分支以及合并分支的便利性,会造成一些问题,分支不自然的就会过多。所以需要定时的需要删除一些过时的分支。

项目分支

一般来说,互联网项目有上线分支,预上线分支,测试分支,开发分支等.

保证不同的分支做不同的事情,防止分支污染。

  1. 上线分支,是发布到线上的分支,以这个分支为准,其他分支都是以这个分支为基础拉取。

  2. 预上线分支,在预上线环境当中,防止出错的最后一道保证。

  3. 测试分支,可能测试环境大家共用一套,所以把代码都merge到这里,然后发布。这样大家各自测试自己的,互不打扰。如果有多个测试环境的话,直接使用开发分支测试也是可以的。

  4. 开发分支,从上线分支拉取,根据需求修改的新分支。

开发流程

progress (1)

上面的这张图看起来有一点复杂。总体上来,可以分为这么几步。

  1. 第一步,需求来了之后,从上线分支拉取一个开发分支。

  2. 第二步,在开发分支进行开发,自测。

  3. 第三步,合并到测试分支,通知QA测试。

  4. 第四步,如果通过测试,合并到预上线分支,然后继续测试。如果不通过测试,进入第二步。

  5. 第五步,如果预上线测试通过,将预上线分支合并到上线分支。如果不通过测试,进入第二步。

  6. 第六步,上线,然后线上测试。如果通过测试,那么这个需求开发就结束了。如果没有通过测试,就撤回上线,然后进入第二步。

分支规范

  1. 测试分支以及预上线分支要定时清理,和上线分支同步。

  2. 上线分支以及预上线分支,merge权限保证在少数人手里。merge的时候,需要检查提交以及对线上的影响。

  3. 只能在开发分支修改代码,其他分支都是等着被merge.

  4. 提交之前,需要保证和上线分支没有冲突。

  5. 防止分支被污染,特别是受到测试分支污染。

流程规范之外

人是最难管理的,以及人是懒惰的。这些话是非常准确的,所以会遇到一下问题,还得需要解决。

  1. 需求改动非常小,是不是还得走整体流程。

  2. 我只是修改文案,是不是还得走整体流程。

具体怎么做,每一个公司和组都有自己的做法,是不是都必须都得走一遍流程。但是,分支规范是必须的,不能随意修改。直接在上线分支修改,坚决说NO!

 

如果转载的话,请注明转载地址,万马奔腾博客,http://www.woniubi.cn/service_online_process/

相关文章
预约抢单互助系统开发详细功能/需求方案/步骤功能/逻辑项目/源码案例
The development model of appointment and order grabbing mutual assistance system is a widely used development model on mutual assistance service platforms. It adopts a combination of appointment and order grabbing modes, allowing users to make appointments or actively participate in mutual assistanc
|
6月前
|
API Nacos
【想进大厂还不会阅读源码】ShenYu源码-重构同步数据服务
ShenYu源码阅读📚。我们看下PR的标题和Concersation的头一句,大概意思就是重构注册中心数据同步到ShenYu网关的方式。大家看看重构了有没好处呢?不仅获得了知识,还获得了一次开源贡献,何乐而不为呢
|
12月前
面试开发的具体流程
面试开发的具体流程
113 2
|
12月前
|
小程序 IDE 开发工具
小程序从零开始开发到上线的过程
小程序从零开始开发到上线的过程
152 0
|
敏捷开发 测试技术
推三返一开发稳定版丨推三返一项目系统开发详细指南/方案需求/步骤逻辑/流程功能/案例设计/技术架构/源码程序
推三返一系统开发是一种软件开发模式,也被称为迭代增量开发模式。它是一种敏捷开发方法的一种,通过将整个开发过程分为多个迭代周期,每个周期都会增加新的功能和特性,并在每个迭代周期结束后进行测试、反馈和修改。推三返一系统开发的核心思想是“推进三步,反馈一步”。
|
存储 NoSQL 算法
线上真实排队系统重构案例分享——实战篇
线上真实排队系统重构案例分享——实战篇
537 0
|
Kubernetes 测试技术 Go
分享:一文搞清楚应用发布到k8s集群的基本流程
分享:一文搞清楚应用发布到k8s集群的基本流程
374 0
|
存储 XML Java
Activiti工作流与业务整合实战
Activiti工作流与业务整合实战
535 0
Activiti工作流与业务整合实战
|
监控 测试技术
如何做好项目上线工作?
项目测试达标后,就需要启动上线了。
699 0
如何做好项目上线工作?
|
存储 前端开发 小程序
实战独立项目「几行字」:从想法到上线全过程
这个项目从想法、画原型、写前端、做设计、部署、搞后端、后台一整套,从想法到实现
493 0
实战独立项目「几行字」:从想法到上线全过程