软考高级第四版备考---第四十二天(软件工程-部署交付)

一、软件部署与交付:属于软件开发的后期活动,即通过配置、安装和激活等活动来保障软件制品的后续运行。其中软件配置过程极大地影响着软件的部署结果的正确性,应用系统的配置是整个部署过程中的主要错误来源

二、持续交付:持续交付是一系列开发实践方法,用来确保让代码能够快速、安全部署到生产环境中。持续交付是一个完全自动化的过程,当业务开发完成的时候,可以做到一键部署

三、持续部署:

3.1持续部署方案:容器技术目前是部署中最流行的技术,常用的持续部署方案有Kubemeters+Docker和Matrix系统两种

3.2部署原则:

  1. 部署包全部来自统一的存储库;
  2. 所有的环境使用相同的部署方式;
  3. 所有的环境使用相同的部署脚本;
  4. 部署流程编排除阶梯晋级,即在部署过程中需要设置多个检查点,一旦发生问题可以有序地进行回滚操作;
  5. 整体部署由运维人员执行;
  6. 仅通过流水线改变生产环境,防止配置漂移;
  7. 不可变服务器;
  8. 部署方式采用蓝绿部署或金丝雀部署

3.3部署层次:

完整镜像部署包括三个环节:

  • Build:跟传统的编译类似,将软件编译形成RPM包或Jar包;
  • Ship:则是将所需的第三方依赖和第三方插件安装到环境中
  • Run:就是在不同的地方启动整套环境

3.4两大部署方式:

蓝绿部署:是指在部署的时候准备新旧两个部署版本,通过域名切换的方式将用户使用环境切换到新版本中,当出现问题的时候,可以快速将用户环境切回旧版本,并对新版本进行修复和调整

金丝雀部署:是指当有新版本发布的时候,先让少了用户使用新版本,并且观察新版本是否存在问题。如果出现问题,就及时处理并重新发布;如果一切正常,就稳步地将新版本适配给所有的用户

四、部署与交付的新趋势:持续集成持续交付持续部署

你可能感兴趣的:(软件工程)