1.持续集成(CICD)
持续集成(ContinuousIntegration,简称CI),是一种软件开发实践,在实践中指只要代码有变更,就自动运行构建和测试,反馈运行结果。通俗一点来讲,就是绑定项目的代码仓库,SVN或者Git库,自动抓取新的代码,完成构建,甚至执行测试,部署到服务器。
2.持续集成中概念解释
2.1 持续集成(Continuous Integration)
持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
2.2 持续交付(Continuous Delivery)
持续交付是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的测试环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。
2.3 持续部署(Continuous Deployment)
2.4 持续集成中关键词解释
持续 (Continuous):不断的获取反馈,响应反馈。
集成 (Integration):编译、测试、打包
部署 (Deployment):应用组件或基本设施的代码或配置变更在产品环境生效称为“部署”;
发布 (Release):具有业务影响的功能变化对最终用户可见称为“发布”
交付 (Delivery):可以理解为从 Deployment (开发分支)到 Releas(测试分支) 之间的阶段,更多的强调的是一种能力。开发有能力频繁的部署,业务有能力随时发布。
频繁部署可以有效降低变更带来的风险,同时业务负责人仍然能保持何时向最终用户发布功能的控制。
3.持续集成优点
-
能够快速暴露错误。
-
保证代码提交质量。
-
定位错误更加容易。
-
降低整体集成风险。
-
促进产品快速迭代。
4. 持续集成原理图
5. 部署流程
1、用户提交代码到Git仓库
2、Jenkins服务器从指定Git仓库拉去代码,使用maven编译打包。
3、Jenkins服务器ssh连接应用服务器,将打包好的war或者jar包传送到应用服务器指定位置,例如 tomcat/webapps
4、Jenkins服务器在应用服务器远程执行脚本文件 重启应用服务器tomcat 或者 在应用服务器执行 java -jar 启动当前项目
6. Jenkins安装
Jenkins是什么
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
6.1 配置步骤
1)将tomcat、git、jenkins、maven放到存放jenkins的服务器,例如/usr/local/soft/jenkins下
2)将tomcat解压,并将jenkens放入tomcat的webapps中
3)需要搭两台tomcat,将jenkins中的端口改掉:分别为:8081ip、8015shutdown、8019AJP/1.3
4)相关jar包下载地址(自己去官网下也行):https://download.csdn.net/download/weixin_44314059/39664039