持续集成工具之Jenkins安装部署的详细教程

  一、DevOps理念

  所谓DevOps是指development和Operations的组合,中文意思就是开发和运维的简写。devops理念主要是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践DevOps 强调整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。传统的模式的开发人员只顾开发程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了一个共同的目标而共同实现最终的目的,而DevOps 则实现团队作战,即无论是开发、运维还是测试,都为了最终的代码发布、持续部署和业务稳定而付出各自的努力,从而实现产品设计、开发、测试和部署的良性循环,实现产品的最终持续交付。

持续集成工具之Jenkins安装部署的详细教程

  以上这张图诠释了什么是DevOps,devops在研发、运维、测试当中是三者的交集;有了devops理念,研发开发流程高效,稳定快速,交付结果可预期;测试根据开发提交的代码,进行持续测试,提升了交付的质量;而运维也可以利用一些自动化部署工具,将测试过得代码,部署到线上;通过这样一个过程,降低了运维维护的成本;研发开发的代码,提交到仓库,由测试人员从仓库中拉去代码进行测试,如果这中间有bug,测试会把测试的结果拿给开发看,让开发改,经过多次修改,代码没有问题,然后再由运维人员将测试过的代码,部署到线上,通常在正式部署到线上时,一般都不会一下子将所有服务器都更新,一般采取分批部署,灰度发布;所谓灰度发布指在业务访问不高的情况下,将一部分服务器从生产环境摘下,进行代码更新,然后再上线;经过一段时间新上线的代码没有bug,然后再分批将其他服务器更新;如果上线后业务有异常,运维人员会将上线都代码立即回滚;这样做可以最大化减少线上业务故障;

  devops流程

持续集成工具之Jenkins安装部署的详细教程

  上图是devops理念的一个流程,从项目最早的计划,到项目上线交付,后续的监控形成了一个闭环,这也体现了DevOps的核心理念团队协作、相互协助、持续发展;中间任何环节出现问题,都会将项目回退到上一步,它们之间都是环环相扣的;比如在t测试没有通过,那么测试会将测试的结果告诉开发,说代码测试有bug,然后研发修改,直到测试通过才会到运维手里,当然运维将项目部署到线上后,也要做监控,如果上线后监控到部分指标有问题,比如内存消耗严重,cpu负载过高,这些问题运维一方面要考虑服务器本身是否有问题,另一方面要考虑代码的问题;所以运维要和开发共同去协作,最终将问题解决;

  持续集成(Continuous integration)简称CI;所谓持续集成指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并切相互不影响工作。

  持续部署(continuous deployment)简称CD;持续部署指是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。

  持续交付(Continuous Delivery)简称CD;持续交付是在持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现。

  devops中常用的工具

持续集成工具之Jenkins安装部署的详细教程

  jenkins在devops中主要做持续集成的工作,它可以将开发写的项目代码从代码仓库中拉去下来,进行代码扫描、编译、测试,部署到线上;

  jenkins是java语言编写的一款高度插件化的软件,它的很多功能都是由插件实现,扩展功能我们安装对应的插件即可,非常方便灵活;除此之外,jenkins还可以在多台机器上进行分布式地构建和负载测试。Jenkins是根据MIT许可协议发布的,因此可以自由地使用和分发。

持续集成工具之Jenkins安装部署的详细教程

扫一扫手机访问