【普及】中小企业项目上线的通常流程

在公司从事运维工做期间,发现了一些更新上线项目发布的问题:tomcat


1,程序中写有大量的接口调用使用的是ip地址。运维

2,程序中的垃圾代码不少,用个人话说程序不干净,很明显是由于交接形成的。ide

3,生产环境更新的备份文件压缩文件处处乱放svn

      tomcat等的日志有分割可是没有按期清理,高达上G。配置文件  写的一沓混乱。工具

4,运维人员离职竟然没有交接文档,更没有生产环境的维护文档。测试

      更甚的是我这个倒霉蛋竟然来了都没人给个口头交接,只是口头仅此而已,没有。spa

5,更新上线没有提早通知规定,没正式流程日志

      都要过年了竟然还赞成上线,稳定性意识不够,估计仍是由于没人看吧接口

6,上线进行时,开发人员围着运维同志乱转乱叫,彻底没秩序ip

      更倒霉的是上线人员提早也不知道都上什么不上什么


个人建议:


1,杜绝ip地址在程序中出现,没有域名的用写hosts代替,须要特别标明。

2,清理程序中的垃圾代码,保证程序的整洁。

3,清理生产环境,统一规范安装路径备份路径,定时压缩清理无用的日志。

4,完善文档制度,补充生产环境配置部署文档。

5,完善更新流程,统一更新上线时间安排,及上线作好提早通知,标明上线修复的bug,及更新内容

      采用邮件形式。大更新提早1周,小更新提早1-2天。合理安排测试结束时间,建议上线最迟半日完成测试

6,灵活安排上线项目的具体次序,程序开发不得影响运维人员,有什么特殊需求提早说明。


下面说说公司常见的项目上线工具Git的详细使用过程

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!

相关文章
相关标签/搜索