zoukankan      html  css  js  c++  java
  • CI CD

    持续集成

    概念

    持续集成就是频繁的将代码集成到主干。

    优点

    • 快速发现错误,避免在一次大量合并逻辑中找错误。
    • 防止分支偏离主干。长时间不集成,可能会造成难以集成。

    目的

    产品快速迭代,同时保持高质量。代码集成之前,必须经过自动化测试,一个测试案例不通过就不允许集成到主干。

    持续集成并不能消除bug,它的作用是“早发现,早改正”

    持续交付

    概念

    持续交付指的是频繁的将软件提交给QA,如果评审通过,则进入生产阶段。

    目的

    它强调的是不管软件怎么更新,它都可以做到随时交付。

    持续部署

    概念

    代码评审过后,自动部署到生产环境。

    目的

    代码在任何时刻都是可部署的,可以直接进入生产环境。

    流程

    持续集成的流程

    • 提交
      开发者向代码仓库提交代码(本地commit)

    • 测试(第一轮)
      代码仓库对提交代码操作(本地commit)配置了hook,只要提交代码或者合并进主干,就会跑自动化测试。

      单元测试:针对函数或者模块测试(必须完成且通过)
      集成测试:针对某个功能测试
      端对端测试:用户节面到数据库的全链路测试

    • 构建
      第一轮测试通过,合并进主干,交付完成,开始进行构建build,就是将只可以单元测试的代码转换成可以实际运行的代码,下载依赖,配置各种资源等。

      Jenkins
      Travis
      Codeship
      Strider

    • 测试(第二轮)
      构建完成开始第二轮,这一轮要包括集成测试。

    • 部署
      通过第二轮测试,当前代码就是一个可以直接进行部署的版本,将代码打包放到服务器。

    生产服务器将解包该代码,并且将运行路径符号链接到该解包目录,重启应用。

  • 相关阅读:
    img的srcset和sizes属性作用
    屏幕尺寸,分辨率,像素,PPI之间到底什么关系
    img 的 srcset、sizes 属性和 picture 元素
    收房细则
    购买雅居乐湖居笔记不得不知。
    Andoird Studio 错误: 非法字符: 'ufeff' 解决方案。
    解决mysql 1040错误Too many connections的方法
    Android布局优化之include、merge、ViewStub的使用
    美国人、英国人、中国人一生都是如何度过
    Android常用正则工具类
  • 原文地址:https://www.cnblogs.com/CherryTab/p/14137137.html
Copyright © 2011-2022 走看看