• 持续集成与Devops关系


    什么是持续集成

    持续集成(Continuous Integration,简称CI),是一种软件开发实践,在实践中指只要代码有变更,就自动运行构建和测试,反馈运行结果。
    通俗一点来讲,就是绑定项目的代码仓库,SVN或者Git库,自动抓取新的代码,完成构建,甚至执行测试,部署到服务器。

    持续集成的好处:

    • 能够快速暴露错误。
    • 保证代码提交质量。
    • 定位错误更加容易。
    • 降低整体集成风险。
    • 促进产品快速迭代。

    持续集成的特点:

    • 统一的代码库
    • 自动构建/测试
    • 每个人每天都要向代码库主干提交代码
    • 每次代码递交后都会在持续集成服务器上触发一次构建
    • 保证快速构建
    • 模拟生产环境的自动测试
    • 每个人都可以很容易的获取最新可执行的应用程序
    • 自动化的部署

    什么是Devops

    DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
    通俗一点来讲,DevOps要求开发、测试、运维一体化,实现敏捷开发;DevOps从计划、编码、构建,测试、发布、部署,以及运营、监控打通,就是把敏捷开发部门和运维部门之间的围墙打通,形成闭环。

    图片1.png
     

    DevOps 也同样要通过技术工具链完成持续集成、持续交付、用户反馈和系统优化的整合。整理了一些开源工具与分类,其中包括版本控制&协作开发工具、自动化构建和测试工具、持续集成&交付工具、部署工具、维护工具、监控,警告&分析工具等等:

    版本控制&协作开发:GitHub、GitLab、BitBucket、SubVersion、Coding、Bazaar
    自动化构建和测试:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPUnit
    持续集成&交付:Jenkins、Capistrano、BuildBot、Fabric、Tinderbox、Travis CI、flow.ci Continuum、LuntBuild、CruiseControl、Integrity、Gump、Go
    容器平台: Docker、Rocket、Ubuntu(LXC)、第三方厂商如(AWS/阿里云)
    配置管理:Chef、Puppet、CFengine、Bash、Rudder、Powershell、RunDeck、Saltstack、Ansible
    微服务平台:OpenShift、Cloud Foundry、Kubernetes、Mesosphere
    服务开通:Puppet、Docker Swarm、Vagrant、Powershell、OpenStack Heat
    日志管理:Logstash、CollectD、StatsD
    监控,警告&分析:Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、Kibana

    图片2.png
     

    可以理解为devops是以持续集成为基础,衔接敏捷开发流程中的各个上下游环节形成的一套最佳实践。

    持续集成中还有一个Pipeline流水线概念,简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。

  • 相关阅读:
    canvas绘图详解-10-文字渲染
    canvas绘图详解-09-曲线的绘制原理
    websocket,vue链接
    JS 数组对象根据某一相同key合并成新的数组
    nuxt $axios访问多个服务器地址请求数据
    正则去除字符串中的html标签,但不去除<br>标签
    css多行文本溢出显示省略号(兼容ie)
    input accept
    jquery.toast
    jquery toast
  • 原文地址:https://www.cnblogs.com/angryjj/p/11470456.html
Copyright © 2020-2023  润新知