原创NOADevOpsJen
Jenkins
一、Jenkins概述
1、CI/CD
持续集成/持续发布
开发(git)--git主库--
jenkins(git+jdk+tomcat+maven打包+测试)--发布到tomcat服务器
2、jenkins
Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。
意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”(Jenkins的安装位置),进行编译、打包和发布到web容器中。
3、Jenkins概述
是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
jenkins通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT。jenkins构建工具有Maven、Ant、Gradle。
CI:
英文全称:ContinuousIntegration
中文全称:持续集成工具
持续集成是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。
SCM
英文全称:SourceControlManagement(SoftwareVersionControl)
中文全称:源码控制管理软件版本控制
4、Jenkins目标
是监控软件开发流程
快速显示问题
提高开发效率
过程控制
5、Jenkins特性
易于安装:不需要安装、不需要数据库,只需通过java-jarjenkins.war或部署到一个servlet容器中
易于配置:所有的配置都可能通过jenkins提供的web界面完成,当然如果你喜欢,也可以通过手动修改xml文件进行配置
测试报告:生成JUnit或TestNG的测试报告.集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。
文件识别:jenkins能跟踪每次构建生成哪些jar包以及使用哪个版本的jar包
分布式构建:支持Jenkins能够让多台计算机一起构建/测试。
插件支持:jenkins可以通过第三方插件扩展,也可以根据团队需要开发插件
任务(Job)和构建(build)
任务:(Job)是Jenkins的一个执行计划,是一系列操作的集合。
构建:是Jenkins的任务的一次运行。
工作流程图
1.开发者检入代码到源代码仓库。
2.CI系统会为每一个项目创建了一个单独的工作区。当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区。
3.CI系统会在对应的工作区内执行构建过程。
4.(配置如果存在)构建完成后,CI系统会在一个新的构件中执行定义的一套测试。完成后触发通知(Email,RSS等等)给相关的当事人。
5.(配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器)或存储为软件仓库中的一个新版本。软件仓库可以是CI系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像Java.net、SourceForge之类的网站。
6.CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告,或者检索一些构建好的构件。
Jenkins就是这么一个CI系统。之前叫做Hudson。
二、Jenkins实战案例
1、环境准备:
centos7.x:10.10.10.11:githubcentos7.x:10.10.10.11:#部署jenkinscentos7.x:10.10.10.12:#充当tomcat网站服务器#建议使用公网环境
2、部署Git:centos7.x:10.10.10.11:GitHub下部署
#1.部署git#环境:4G内存的CENTOS7-64位一台#1.安装依赖包[root
server11~]#yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develgccperl-ExtUtils-MakeMaker-y#2.git转载请注明:http://www.sonphie.com/jbzl/14382.html