说一说,正常上线的流程

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

另外互联网项目版本开发都很是频繁。一天上线十几个小版本,也是有可能的。像我如今的公司,常常一天修改好屡次文案,就须要不断的上线。若是处理不及时上线的话,会形成用户的一些误解,致使一些投诉以及很差的用户体验。这么频繁的修改上线,也是须要必定的流程和规范保证。测试

Git 代码管理

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

新建分支以及合并分支的便利性,会形成一些问题,分支不天然的就会过多。因此须要定时的须要删除一些过期的分支。get

项目分支

通常来讲,互联网项目有上线分支,预上线分支,测试分支,开发分支等.同步

保证不一样的分支作不一样的事情,防止分支污染。博客

  1. 上线分支,是发布到线上的分支,以这个分支为准,其余分支都是以这个分支为基础拉取。
  2. 预上线分支,在预上线环境当中,防止出错的最后一道保证。
  3. 测试分支,可能测试环境你们共用一套,因此把代码都merge到这里,而后发布。这样你们各自测试本身的,互不打扰。若是有多个测试环境的话,直接使用开发分支测试也是能够的。
  4. 开发分支,从上线分支拉取,根据需求修改的新分支。

开发流程

上面的这张图看起来有一点复杂。整体上来,能够分为这么几步。it

  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/互联网

相关文章
相关标签/搜索