这两天学习了一下持久化集成工具Jenkins,在本身的本地搭建一个简单的Jenkins环境。html
使用环境:Windows64系统,JDK1.8,eclipse,svn(Windows版本VisualSVN-Server-3.5.7-x64.msi),tomcat7,apache-maven-3.2.5,Jenkins_2.32.1等。java
注:Jenkins2.32须要JDK7及以上版本;web
1、持续集成数据库
先了解一下持续集成的概念:持续集成是一种软件开发实践,即团队开发成员常常集成它们的工做,经过每一个成员天天至少集成一次,也就意味着天天可能会发生屡次集成。每次集成都经过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。而Jenkins就是基于Java开发的一种持续集成工具,用于监控持续重复的工做。apache
持续集成的核心价值:
1)持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减小重复过程以节省时间、费用和工做量;
2)持续集成保障了每一个时间点上团队成员提交的代码是能成功集成的。换言之,任什么时候间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;
3)持续集成还能利于软件自己的发展趋势,这点在需求不明确或是频繁性变动的情景中尤为重要,持续集成的质量能帮助团队进行有效决策,同时创建团队对开发产品的信心。
持续集成的原则:
1)须要版本控制软件保障团队成员提交的代码不会致使集成失败。经常使用的版本控制软件有IBM Rational ClearCase、CVS、Subversion等;
2)开发人员必须及时向版本控制库中提交代码,也必须常常性地从版本控制库中更新代码到本地;
3)须要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建能够被软件的修改来直接触发,也能够定时启动,如每半个小时构建一次;
4)必须保证构建的成功。若是构建失败,修复构建过程当中的错误是优先级最高的工做。一旦修复,须要手动启动一次构建。
持续集成系统的组成 :
因而可知,一个完整的构建系统必须包括:
1)一个自动构建过程,包括自动编译、分发、部署和测试等。
2)一个代码存储库,即须要版本控制软件来保障代码的可维护性,同时做为构建过程的素材库。
3)一个持续集成服务器。本文中介绍的Jenkins就是一个配置简单和使用方便的持续集成服务器。tomcat
2、Jenkins是什么?服务器
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。app
功能: 一、持续的软件版本发布/测试项目。 eclipse
二、监控外部调用执行的工做。webapp
特性:
1.开源
2.安装、配置简单--只要把jenkins.war部署到servlet容器,不须要数据库支持,全部配置都是经过其提供的web界面实现。
3.集成RSS/E-mail经过RSS发布构建结果或当构建完成时经过e-mail通知。
4.生成JUnit/TestNG测试报告。
5. Jenkins支持分布式构建
6.插件支持:支持扩展插件,目前有几百个现成的插件可使用,这些插件涵盖从版本控制、构建工具、代码质量、构建通知、集成外部系统、 UI定制、游戏等等各个方面。
3、安装配置
jenkins官网:https://jenkins.io/index.html,选择适合本身的版本下载便可。个人版本 for Windows。
1.安装:解压zip文件获得,双击安装便可,根据本身的需求选择要安装的目录。个人安装目录以下:
安装完成后如何验证一下是否成功呢?Jenkins.war!
验证方式:执行命令行或直接将Jenkins.war放到tomcat webapps下启动服务便可
(1)打开cmd命令行,进入到Jenkins安装目录,直接运行java -jar jenkins.war 默认的端口是8080(在jenkins.xml中配置),也可执行java -jar jenkins.war --httpPort=7080,自定义其余端口验证
启动成功以下:
(2)直接将Jenkins.war放到tomcat webapps下启动服务便可。
上述两种方式启动成功后,访问http://localhost:7080,根据提示设置用户登陆信息,个人已设置直接进入登陆页面
输入用户名密码登陆:成功!!!
2.配置:进入 系统管理--Global Tool Configuration
配置JDK,MAVEN
配置完成后保存。接下来就能够新建job了。
3.返回首页,新建任务,点击 新建 按钮,
输入任务名称,选择构建一个自由风格的软件项目并保存。
在general里面更具本身想须要勾选,包括工做空间,默认C:\Users\admin\.jenkins\workspace;
注意:若是有多个项目,(1)建议工做空间+项目名称,例:C:\Users\admin\.jenkins\workspace\demo,demo为项目名称,也可取其它名称,这样会在工做空间下新建不一样目录,以便区分不一样项目;(2)若是选择默认空间,可在“源码管理” 模块 Local module directory文本框中输入本身的项目名称,以区分不一样项目
原码管理,在此我使用svn;填写Repository URL及Credentials,及svn的地址及用户信息,其中Credentials在首页Credentials选项新建;
注意:若是是Maven项目,且有多个模块,则Repository URL路径指向全部项目的根地址
在首页Credentials选项新建,输入svn的帐号和密码
构建触发器:
Poll SCM:定时检查源码变动(根据SCM软件的版本号),若是有更新就checkout最新code下来,而后执行构建动做。个人配置以下:
*/5 * * * * (每5分钟检查一次源码变化)
Build periodically:周期进行项目构建(它不care源码是否发生变化),个人配置以下:
0 2 * * * (天天2:00 必须build一次源码)
4.项目构建:
maven version : 选以前录入的maven;
Goals选项输入打包编译时要执行的命令,如:clean package/clean install;
POM选项选择pom文件所在的相对位置,若是有多个Maven模块,选择父级的pom.xml;
保存,首页左侧 点击 当即构建 选项便可构建项目了。
查看构建日志:
日志信息:
构建成功!!!如报一下错误:
解决方案:
(a)修改pom.xml文件
<build>
<finalName>demo</finalName>
</build>
添加<defaultGoal>install</defaultGoal>
即:
<build>
<defaultGoal>install</defaultGoal>
<finalName>demo</finalName>
</build>
(b)指定默认Goals
从新构建。
5.部署项目:
构建后操做:
配置后保存,从新构建,其中demo是我web项目的名称,此处的http://localhost:8081,是部署demo项目的服务器和端口
WAR/EAR files:target\demo.war,是构建后生成的war包,正常状况下打包成功后就会部署到tomcat下webapps目录下,如
果构建成功,但没有自动部署,修改WAR/EAR files:**/*.war试试。
构建成功后,便可登陆项目验证:
到此Jenkins部署就完成了!!!!!!!!!!!!!!
最后还有一个自动部署的问题:上面咱们已经配置了构建触发器,那怎么用呢?
看管理插件:
已安装插件,若是在已安装插件未找到,即未安装,可在可选插件中搜素安装便可。
。。。。。。。。。