共计 943 个字符,预计需要花费 3 分钟才能阅读完成。
download:Spark+ClickHouse 实战企业级数据仓库,进军大厂必备
CI/CD 次要针对在集成新代码时所引发的问题(俗称 ” 集成地狱 ”)。
为什么会有集成地狱这个“雅称”呢?大家想想咱们一个我的项目部署的过程,拉取代码 -> 构建 -> 测试 -> 打包 -> 部署,如果咱们常常需要部署我的项目,特地是在微服务期间,服务特地多的情况下,不停的测试打包部署,那估计得有集体一整天顺便做这事了,而这事又是繁琐的重复无意义的。
具体而言,CI/CD 可让继续自动化和继续监控贯穿于利用的整个生命周期(从集成和测试阶段,到托付和部署),这些关联的事务通常被统称为 ”CI/CD 管道 ”,由开发和运维团队以敏捷形式协同反对。
1.1 CI(Continuous Integration)
CI/CD 中的 ”CI” 始终指继续集成,它属于开发人员的自动化流程。胜利的 CI 意味着利用代码的新更改会定期构建、测试并合并到代码仓库中,该解决打算可能解决在一次开发中有太多利用分支,从而导致相互冲突的问题。
1.2 CD(Continuous Delivery/Continuous Deployment)
CI/CD 中的 ”CD” 指的是继续托付和 / 或继续部署,这些相干概念有时会交叉使用。两者都事关管道后续阶段的自动化,但它们有时也会独自使用,用于说明自动化程度。
继续托付(Continuous Delivery)通常是指开发人员对利用的更改会主动进行谬误测试并上传到代码仓库(如 GitHub、GitLab 等),而后由运维团队将其部署到实时生产环境中。这旨在解决开发和运维团队之间可见性及沟通较差的问题。因此,继续托付的目标就是确保尽可能减少部署新代码时所需的工作量。
继续部署(Continuous Deployment)指的是主动将开发人员的更改从代码仓库公布到生产环境,以供客户使用。通过一套全自动化的流程,来解决手动测试、编译、打包等操作。继续部署以继续托付的劣势为根基,实现了管道后续阶段的自动化。
- 什么是 Jenkins
后面说的 CI/CD 算是一种思维,思维要落地,就需要对应的工具。
Jenkins 是一款开源的 CI/CD 软件,可能算是 CI/CD 软件指导者,它提供了超过 1000 个插件来反对构建、部署、自动化,基本上能够满足任何我的项目的需要。