互联网项目生产线各环节介绍

来源:互联网 发布:skype手机聊天软件 编辑:程序博客网 时间:2024/06/10 09:14
采用敏捷开发模式,每个周期为两周,每次完成5-10个不等的story,然后进入下一个迭代,以此类推。
  
1、需求管理,这个由产品部来负责收集、分析、整理,最终形成一个个可进行开发的story。需求管理工具选用icescrum

  
2、代码研发,由java团队根据icescrum上各个story进行开发,代码采用svn管理,story开发在主干上进行

  
3、功能测试,由测试团队进行,当java团队完成一个story后,就可以通知测试团队测试了。这个过程中由ci平台自动完成部署,使用jenkins及maven,环境单台linux-pc上运行多个tomcat节点

 
4、codereview,由java团队完成,当成员完成一个新功能后,按规则在注释中增加REVIEW标签,提交SVN库。sonar平台结合ci平台自动完成代码初审,自动对有REVIEW标签的代码标记为block状态。

    代码审核人员在eclipse中使用sonar插件获取sonar初审信息,根据审核级别进行code review工作,在eclipse中创建sonar review task,提交审核意见,发送给代码提交者。
代码提交者在eclipse中获取review task,根据审核人员的意见进行代码修改或无修改,然后将review task发送给审核者。最后审核者review修改后的代码,通过后关闭本次review task。
   
5、3,4步中有代码调整、功能修改的,需通知测试人员进行复测,直到通过功能测试为止。bug管理工具采用jira。

   
6、功能测试通过后,冻结SVN主干,然后建立新版本分支,通知研发组及测试组切换到预发布环境工作。预发布环境高度模拟生产环境,有分布式数据库,分布式服务器,分布式缓存。同时,预发布环境
的代码永远是最新的分支版本(非主干版本,主干只做新功能开发)。运维组同步生产数据至预发布环境,完成后通知测试组。
   
7、测试组在预发布环境上进行回归测试、压力测试,不间断持续进行24-48小时。

   
8、在预发布环境上测出的bug,开发人员在分支版本上修改、提交,直到测试通过为止。

  
9、测试通过后,运维人员使用ci平台发布最新分支版本war包至部署服务器。

   
10、运维人员切换生产环境的一个节点出来部署,通知测试组验证。

   
11、测试组验证无误后,运维人员批量部署其他节点,运行稳定无误,则完成本次部署。

   
12、SVN合并分支版本代码至主干,开始新的一个迭代

   
13、临时小需求及生产bug持续在最新分支上修改,测试,部署。完成后同步合并至主干中。

   
14、周而复始,步步演进