zoukankan      html  css  js  c++  java
  • 持续交付-发布可靠软件的系统方法

    一、基础篇

    1.1 软件交付问题

    1.1.1 奇奇怪怪的发布模式

    • 手工部署软件
    • 开发完后才向类生产环境部署
    • 通过运维团队来管理生产环境的配置

    手工部署软件的缺点:成本代价高,部署环境未自动化,每次部署时会发生错误且追查难,手工部署需要文档支持而文档维护成本高

    在一个产品发布过程中,需要将测试、部署和发布活动也纳入开发过程中,让它们成为开发流程的一部分。

    通过运维团队来管理生产环境,需要由团队登录到生产服务器进行手工修改并记录,系统无法回滚到之前部署的某个配置,包括操作系统、应用服务器、关系型数据库等

    总结:

    自动化部署能够省去很多麻烦,其带来的便利性也是显而易见的,同时在一个产品发布过程中,需要将测试、部署和发布活动也纳入开发过程中,让它们成为开发流程的一部分

    1.1.2 软件交付的原则

    软件部署三件事:

    • 提供并管理必要的环境
    • 将应用正确版本安装在正确环境上
    • 配置应用程序,包括其所要的任何数据以及状态

    软件交付的原则:

    • 为软件发布创建一个可重复且可靠的过程
    • 将测试等所有事情自动化
    • 把所有东西纳入版本控制
    • 提前并频繁地做让你感到痛苦的事(指优先解决项目中最痛苦的事)
    • 越早发现错误,修复成本越小
    • 交付团队的每个人都应该对应用程序的质量负责
    • 戴明环原则:Plan - Do - Check - Action(PDCA原则),每个改进点都应该有一个人负责跟踪

    1.1.3 如何实现目标

    1.2 配置管理

    1.3 持续集成

    1.4 测试策略的实现

  • 相关阅读:
    .ssh/config 文件的解释算法及配置原则
    不fq安装 golang tools
    iOS 组件化的几篇文章
    第一把机械键盘 ikbc C-87
    我推荐的 Java Web 学习路线
    【吐槽向】iOS 中的仿射变换
    Spring 对缓存的抽象
    Spring 事务管理笔记
    Swift 笔记汇总
    Java 类加载器
  • 原文地址:https://www.cnblogs.com/knis/p/15325072.html
Copyright © 2011-2022 走看看