JAVA后端《持续集成 持续交付 持续部署》

1.持续集成/持续交付/持续部署的目的是什么?

  • 持续集成、持续交付和持续部署其目的是减少代码改动到投入生产的所需时间,提早发现风险、减少QA的测试时长、减少运维的人工干预。整体上是一个提效的过程。

2.什么是持续集成(CI)?

  • Continuous Integration:持续集成简称CI,是软件开发的一种实践。把代码仓库(GIThub,GITlab,GITee)
    构建工具(如Maven,Gradle)和测试工具(SonarQube)集成在一起,频繁的将代码合并到主干后自动进行构建和测试。简单来说持续集成就是一个监控版本控制系统中代码变化的工具,当代码发生变化是可以自动编译和测试以及执行后续自定义工作。
    在这里插入图片描述

2.什么是持续交付(CD)?

  • Continuous Delivery:持续交付简称CD。是在CI的基础上进行了扩展,在CI环节完成了软件的构建和测试并形成了新的版本,那么接下来就要进行交付。这里交付到的环境不是指生产环境,而是类生产环境(STAGING),进而接受部分真实流量测试。如果没有问题的话就手动将项目部署到生产环境。
    在这里插入图片描述

3.什么是持续部署(CD)?

  • Continuous Deployment:持续部署,简称CD。它是在持续交付的基础上把手动部署升级为自动部署。
    在这里插入图片描述

4.Jenkins是什么?

  • Jenkins是一个可扩展的持续集成引擎。通常与版本管理工具、构建工具结合使用。
    常用的代码版本控制工具有SVN、GIT,代码构建工具有Maven、Ant、Gradle。

5.Jenkins有什么用?

  • 持续、自动的构建和测试软件项目,监控一些定时执行的任务.