Jenkins+Gitlab持续集成综合实战

一、持续集成应用背景:

DevOps:(英文Development(开发)和Operations(技术运营)的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作;

应用背景:

一个开发单打独斗,撸代码,开发网站,自由自在;

多个开发同时开发一个网站,同时改一份代码。但是同时改一个文件会导致冲突;

采用分支结构,每天上班第一件事克隆代码,下班前最后一件事合并代码;

好景不长,开发越来越多,代码文件越来越多。每天下班前合并代码时,发现很多合并失败的文件。最后每天加班3小时人工合并代码;

解决方法:将代码合并的周期缩短,以前一天,现在一小时,半小时;

随时随地将代码合并,这种方法叫做持续集成;

理解持续集成、持续交付、持续部署:https://blog.csdn.net/kone0611/article/details/78534886

二、持续集成概述:

概述:持续集成(Continuous integration,简称CI),一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误;

理解jenkins持续集成:https://www.cnblogs.com/liyuanhong/p/6548925.html

持续集成要素:

  1.统一的代码库;

  2.自动构建;

  3.自动测试;

  4.每个人每天都要向代码库主干提交代码;

  5.每次代码递交后都会在持续集成服务器上触发一次构建;

  6.保证快速构建;

  7.模拟生产环境的自动测试;

  8.每个人都可以很容易的获取最新可执行的应用程序;

  9.每个人都清楚正在发生的状况;

  10.自动化的部署;

三、持续交付概述:

概述:持续交付(Continuous delivery,简称CD),指的是:频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段;持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的;

代码测试通过了,该到生产环境部署了,部署时要么成功,要么失败回滚;

四、持续部署概述:

概述:持续部署(Continuous Deployment,缩写为 CD)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境;持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段;

五、Jenkins概述:

概述:Jenkins是一个用Java编写的开源的持续集成工具,Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令;

Jenkins目的: 

  1.持续、自动地构建/测试软件项目;

  2.监控软件开放流程,快速问题定位及处理,提示开放效率;

特性:

开源的java语言开发持续集成工具,支持CI,CD;

易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;

消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;

分布式构建:支持Jenkins能够让多台计算机一起构建/测试。

文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;

丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等;

产品发布流程:

产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线

六、案例:部署Jenkins持续集成;

案例环境:

系统类型

IP地址

主机名

所需软件

内存

Centos 7.4 1708 64bit

192.168.100.101

jenkins.linuxfan.cn

jdk-8u171-linux-x64.tar.gz

apache-tomcat-9.0.10.tar.gz

jenkins.war

apache-maven-3.5.4-bin.tar.gz

git

gitlab-ce

4G

Centos 7.4 1708 64bit

192.168.100.102

http.linuxfan.cn

httpd

1G

组件作用:

Maven的作用:Maven负责java语言的编

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值