zoukankan      html  css  js  c++  java
  • 软件工程补充概念

    什么是DevOps?

    DevOps可以理解为一种开发(Development)和运维(Operations)一起紧密协作的工作方式,从而可以 更快更可靠的构建、测试和发布软件。

     

    出现的原因如下:1.服务器规模快速增长和虚拟化技术的高速发展。2.高频的部署发布。

     

    DevOps并不意味着开发一定要懂运维技术,运维要懂开发技术,而是说两个工种要更紧密的协作,有共同 的目标:更快更可靠的构建、测试和发布软件。

    这就意味着,对于运维来说,不再抵触开发的频繁更新部署,会帮助搭建自动化部署平台,提供自动化部署工具;对于开发来说,不再认为运维的工作和开发没关系,开发人员会邀请运维人员参与架构设计,帮助运维实现自动化脚本开发。

     

    软件版本来说,包含两部分含义,一部分代表特定功能集合,一部分代表某一次特定的代码构建结果。为了明确标识软件版本,需要对版本进行编号。目前业界在软件版本的命名上,通常会采用以下方式: 主版本号 . 子版本号.[.修正版本号.[构建版本号]]

     

    比如说:1.2.1、2.0、3.0.1 build-123

     

    其中主版本号和子版本号用来标识功能变化,小的功能变化增加子版本号,大的功能变化增加主版本号。修 正版本号则表示功能不变化的情况下修复Bug,而构建版本号表示一次新的构建,这个通常由编译程序自动 生成。

     

    Bug跟踪工具,采用结构化的数据来定义Bug,每一个Bug都有一些关键的信息可以对Bug进行分类和检索。可以非常直观的了解bug的情况。 

     

    源代码管理工具也叫版本控制系统,是保存文件多个版本的一种机制。每一次有人提交了修改,这个修改历史都会被版本控制系统记录下来。

     

    github中的pull request是合并请求,github flow强调的是一定要有一个稳定的master分支,所有的新建功能和修复bug都要创建一个新的分支,不能直接在master上做修改。 

     

    集成:在多人软件项目开发的时候,每个人都会负责一部分功能模块的开发,集成指的就是每个人把自己开发的分支代码,合并到主干上,以便测试打包。

     

    交付:软件产品在测试验收通过后,具备发布到生产环境交付给客户使用的条件。

     

    部署:将代码发布到各种环境,比如部署测试环境以供测试。

     

    持续集成:就是持续频繁地将代码从分支集成到主干,并且要保证在合并到主干之前,必须要通过所有的 自动化测试。

     

    持续交付:则是基于持续集成,在自动化测试完成后,同时构建生成各个环境的发布包,部署到测试环 境,但生产环境的部署需要手动确认。

     

    持续部署:是在持续交付的基础上,对生产环境的部署也采用自动化。

  • 相关阅读:
    Java实现 LeetCode 50 Pow(x,n)
    Java实现 LeetCode 50 Pow(x,n)
    Java实现 LeetCode 49 字母异位词分组
    Java实现 LeetCode 49 字母异位词分组
    Java实现 LeetCode 49 字母异位词分组
    Java实现 LeetCode 48 旋转图像
    Java实现 LeetCode 48 旋转图像
    Java实现 LeetCode 48 旋转图像
    Java实现 LeetCode 47 全排列 II(二)
    Java实现 LeetCode 47 全排列 II(二)
  • 原文地址:https://www.cnblogs.com/cmpunk/p/11279170.html
Copyright © 2011-2022 走看看