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上做修改。 

     

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

     

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

     

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

     

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

     

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

     

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

  • 相关阅读:
    django core cache 永不失效配置
    zabbix-ODBC-oracle
    time
    zabbix中的触发器依赖
    Servlet1
    每周总结01
    使用IntelliJ IDEA集成TomCat
    hadoop环境配置
    《软件工程》学习进度条博客16
    03梦断代码读后感3
  • 原文地址:https://www.cnblogs.com/cmpunk/p/11279170.html
Copyright © 2011-2022 走看看