部署相关的基础知识

640 阅读3分钟

项目生命周期

传统项目生命周期

对于传统软件项目来说,它主要包含以下五个阶段

1234.PNG

1 调研阶段

  • 目的:居安思危
  • 人员:相关人员,侧重于产品经理
  • 节点:多角度思路/方案,最后领导拍板

2 设计阶段

  • 目的:方案可视化
  • 人员:产品团队主导,开发、测试、运维参与
  • 节点:产品需求文档、项目里程表

3 开发阶段

  • 目的:方案运行
  • 人员:开发团队为主,运维团队参与
  • 节点:阶段项目正常运行

4 测试阶段

  • 目的:保证项目功能完善
  • 人员:测试团队为主,运维、开发参与
  • 节点:项目功能符合要求

5 运营阶段

  • 目的:项目部署+运行维护
  • 人员:运营团队为主、开发/产品团队参与
  • 节点:项目终止、功能迭代等

新型项目生命周期

12345.PNG

软件项目的部署

  • 部署流程--基于项目功能,设计合理的部署方案
  • 部署项目--结合部署方案,实现顺畅的项目部署

部署流程

主要包括以下两个部分:部署方案、部署环境

部署方案

  1. 分析项目的产品需求文档,获取项目的主旨,定好部署方案的方向
  2. 分析项目开发文档,按照功能边界,设计部署的结点
  3. 分析边界功能,调研功能软件,合理的取舍,选符合当前业务场景的
  4. 梳理项目部署涉及到的部署软件实现方案,根据2确定的结点,确定初版部署方案
  5. 根据项目实际情况,调整优化并确定项目部署方案

部署环境

根据我们对项目生命周期的理解,一个项目需要经历多个团队的工作,才能最终形成一个成品,也就是说开发好的项 目需要在多个阶段环境中按照我们的部署方案部署项目,而每个阶段的环境都是有特殊作用的,那么接下来我们来学习一下项目发布过程中所涉及到的五个环境:

个人开发环境

  • 工作人员:自己
  • 工作平台:个人笔记本、公司配的电脑
  • 平台特点:环境是自己配的,团队中不同的个人开发环境可以不一样
  • 工作内容:项目的子模块,子功能
  • 完成标准:完成领导安排的内容[项目的功能子模块开发]

公司开发环境

  • 工作人员:开发团队
  • 工作平台:公司内部服务器
  • 平台特点:服务器环境和线上的服务器环境完全一致
  • 工作内容:项目子模块间的功能联调
  • 完成标准:项目阶段开发、调试完成

项目测试环境

  • 工作人员:测试团队
  • 平台:公司内部服务器
  • 特点:服务器环境和线上的服务器环境完全一致
  • 内容:项目功能/非功能/探索等测试
  • 标准:项目阶段功能正常运行

预发布环境

  • 人员:运维团队
  • 平台:公司线上服务器组中的一台
  • 特点:服务器环境和线上的服务器环境完全一致
  • 内容:特殊功能测试(比如支付)、数据压力测试、其他安全测试等
  • 标准:项目阶段功能正常运行,最后一道防线

项目线上环境

  • 人员:运维团队
  • 平台:公司线上服务器组
  • 特点:标准线上的服务器环境
  • 内容:代码部署和维护
  • 标准:项目正常运行