Jenkins配置自动化构建

转自: http://blog.sina.com.cn/s/articlelist_3053349671_14_1.html

Jenkins 简介和安装(一)

(2014-12-02 21:18:13)
 
 
 
Jenkins,之前叫做Hudson,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作
Jenkins win下安装
1.下载Jenkins 
2.安装jdk、tomcat环境
3.将Jenkins.war 部署至tomcat,启动tomcat,此时Jenkins部署成功,Jenkins的访问http://serverip:8080/jenkins,看到下面的页面Jenkins启动成功Jenkins <wbr>简介和安装(一)
4.Jenkins在window下的默认工作空间用户的目录下.jenkins,一般情况下我们需要自己更改一下,因为放在默认路径有些不方便,这个可以根据习好确认,我这里更改为D:\Jenkins\Jenkins。
设置系统环境变量
Jenkins <wbr>简介和安装(一)

5.此时我们主目录配置成功,系统管理->系统配置->主目录,如下图显示
Jenkins <wbr>简介和安装(一)
 
 
此时我们已经完整的将Jenkins的初始化工作搞得,下面我们来建立一个工程吧
 

Jenkins新建项目(二)

(2014-12-02 21:49:46)
 

我这里主要采用Jenkins 构建maven2/3项目,因为我们目前的开发语言采用的是java,而打包工具采用的maven,所以以下我配置的项目均采用的是maven2/3项目,构建Maven项目时,首先我们需要安装配置外围环境maven

1.maven环境安装,由于maven的环境配置比较简单,之前的博客也说过此处不在详解

2.Jenkins中配置maven的环境变量,Jenkins中配置环境变量的时,如果你没有安装maven可以直接安装,如果你安装maven,那么只要设置环境变量即可

Jenkins新建项目(二)

 
   
 如果环境中没有安装maven只要勾选自动安装,即可安装,在安装的过程中你可以选择安装的版本,而且有时候构建的项目中的maven版本不同,我们可以设置多个maven环境,只要点击新增maven即可配置

3.配置好maven以后,我们下面要配置maven的配置文件,其实这里分为局部和全局配置文件,如果你安装的maven保持默认,那么这里设置保持默认即可,如果你的maven的配置文件变更只要选择"Settings file in filesystem",指定setting文件的位置即可。

Jenkins新建项目(二)
4.此时我们要配置我们的最重要的东西jdk,他的配置跟maven的配置一样,只要指定jdk的环境变量即可,同时jdk也可以指定多个版本

Jenkins新建项目(二)

目前为止我们把所以的外网环境均配置完成,熟话说磨刀不误砍柴。

5.新建maven2/3项目,输入项目的名称demo,点击OK,此时我们的项目创建完成了,那么我们创建这个项目肯定要做一些什么事情,下面我介绍我们要做的事情

Jenkins新建项目(二)

下面我介绍一下Jenkins最简单的功能,获取代码,编译代码,打包,这里我们采用的是SVN作为代码管理服务器,首先我们需要在Jenkins服务器 上安装svn的客户端,并且svn可以自动获取svn服务器的代码,那么这里就有一个权限,只要在Jenkins服务器上验证通过即可,这里我不详细解释 了

6.源代码管理中选择SVN选择(SVN、CVS默认插件已经安装,所以插件在这里不需要安装了),只要在Repository URL中输入SVN的路径即可,其他的详细我这里不说后面详细解释,这里只给大家解释简单的构建一个项目

Jenkins新建项目(二)
7.构建maven项目build这是必须设置的,因为这里不要是对代码打包、编译的一个选项

Jenkins新建项目(二)

这样我们这里构建了一个最简单的CI项目,点击保存,即完成了项目的新建工作

8.构建时我们可以点击"立即构建"或者首页的Jenkins新建项目(二),均可以构建项目,后面我在给大家介绍项目的发布
 

Jenkins 添加sonar对代码静态检查(三)

(2014-12-03 20:58:27)
 
首先我这里要简单的对sonar有个介绍
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量
通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测,看到这里我们是不是觉得soanr很强大呢,那么我们下来将sonar集成到Jenkins。
sonar的安装和配置请查看我的另一个博客http://blog.sina.com.cn/s/blog_b5fe6b270102v7xj.html
之前我们发布的容器的时候需要安装deploy的插件,那么我们通过sonar做静态检查的时候是否需要安装其他的插件呢,这里必须需要安装,我们需要去管理插件中安装Sonar Plugin,直接安装即可,如果在线安装失败可以去官方下载。
soanr的插件安装完成我们需要在系统管理
->系统设置 配置下soanr的环境变量,我们会发现在系统设置中多出了一项sonar的选项。
Jenkins <wbr>添加sonar对代码静态检查(三)

我想这个soanr的配置选项有点特别的简单,我这里就不一一说明了,因为我这里soanr不需要与maven集成、以及我的sonar服务器与数据库都在同一台服务器,所以关于后面的选项我们没有添加。
下面我们就可以再我们的项目中采用sonar对项目代码进行静态检查,下面我们进入项目设置中
Jenkins <wbr>添加sonar对代码静态检查(三)

后面没有标记的选项都是关于maven的,我这里采用了全局配置,这里就不配置了,配置完成点击保存,那么在执行任务的时候,就可以采用soanr进行代 码检查了,那么此时我们已经可以完成的构建一个CI项目了,后续我会给大家详细的介绍一下Jenkins的功能,这里只是给大家做一个快速上手和入门的工 作
 

Jenkins部署Web项目到远程tomcat(四)

(2014-12-03 19:11:26)
 
之前讲到的是如何构建一个项目,并且将代码进行编译、打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功。在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web项目到远程tomcat。
首先Jenkins提供了一个发布的插件deploy plugin,来帮助我们实现远程部署,这个插件默认是不安装的,所以需要我们自己手动的来安装。
手动安装deploy plugin 插件,我们可以在线安装,也可以通过官方下载相关插件,下载地址:https://updates.jenkins-ci.org/download/plugins,我这里主要是通过Jenkins在线安装。
1.系统管理->管理插件->可选插件->搜索“Deploy to container Plugin”,勾选插件直接安装,等着Jenkins自动安装完成。此时我们打开我们之前新建的项目选择“增加构建后的操作”中增加了一项“Deploy war/ear to a container",将我们的war和ear工程部署到容器。
Jenkins部署Web项目到远程tomcat(四)

2.我们添加一个deploy war/ear to a container选择,Jenkins中构建后操作多出一个发布选项
Jenkins部署Web项目到远程tomcat(四)
WAR/EAR files:是war包的相对路径
content path:tomcat的发布路径,即使用localhost/(content path设置的名字)来访问项目.

contaners :发布到的容器,主要可发布到tomcat、jboss、GlassFish

deploy on failure:发生错误的时候是否发布到tomcat

3.点击add contaners 添加发布的容器,我们这里要发布到tomcat,所以我这里添加的是tomcat

Jenkins部署Web项目到远程tomcat(四)
Jenkins部署Web项目到远程tomcat(四)

如果你部署的是集群环境那么可以添加多个容器来部署应用。
此时只要我们运行我们的任务即可将我们的应用发布到tomcat,记住这里要把应用服务器的防火墙关闭。
这里在多说一点tomcat默认的登录是注释的,我们需要打开。
在tomcat/conf/tomcat-users.xml下添加以下代码即可,因为之前的博客讲解过tomcat管理权限的配置,这里就不重复讲解。

Jenkins定时构建项目(五)

(2014-12-03 21:33:14)
 
之前我们说的都是手动的构建一个项目,我们是不是可以自动的来构建项目那么此时我们需要使用Poll SCM和Build periodically,我们在构建触发中选择这两项即可,其实他们两个就是一个自动任务,这里的语法也是cron的语法,没有什么特别
Jenkins定时构建项目(五)
触发远程构建:触发远程构建
Build after other projects are built:在其他项目触发的时候触发,里面有分为三种情况,也就是其他项目构建成功、失败、或者不稳定(这个不稳定我这里还木有理解)时候触发项目
Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。我的配置如下:
*/5 * * * * (每5分钟检查一次源码变化)
Build periodically:周期进行项目构建(它不care源码是否发生变化),我的配置如下:
0 2 * * * (每天2:00 必须build一次源码)
那么是不是有这个就很强大了,不需要我们手动的点击构建了,因为我之前在Microsoft的时候我们的项目都是半夜开始工作,到第二天早晨的时候开发查看结果即可。
有朋友就要说啦,那么我们是不是需要每天都登录上去看构建结果呢,这里我跟大家说,这个不需要,下次我给大家解释Jenkins的邮件发送功能,希望对大家有帮助
 

jenkins 配置邮件

(2015-03-03 10:55:38)
 
jenkins 自带一个邮件的通知的功能,但是自带的邮件通知功能,有点简单不能自定义信息,所以我们安装邮件插件Email-ext plugin。
1.首先在系统管理-插件管理-安装Email-ext plugin
2.系统设置中配置邮件服务器,在系统设置页面找到"邮件通知"的设置发送邮件的服务器,我这里以163邮箱为例如图
jenkins <wbr>配置邮件

设置完成以后,我们点击Test Configuration,发送测试邮件时候出现失败,这里因为我们首先需要设置一下发送邮件的邮箱账号,这里只是配置邮件服务器地址、账号和密码,但是jenkins不知道采用哪个邮箱去发送,在系统设置页面找到“Jenkins Location”设置“系统管理员邮件地址”,必须与上图设置的用户保持一致。
此时我们已经把可以发送邮件了,下面我们来配置要发送的内容
3.系统设置中找到Extended E-mail Notification位置配置发送信息,下图是我自己配置的,仅供参考
jenkins <wbr>配置邮件


具体的说明我就不解释了,字面已经说的很清楚了,这样我们就配置好邮件通知了
下面我们根据项目需要来配置发送人,以及触发条件。
4.在构建后的操作添加“Editable Email Notification”
jenkins <wbr>配置邮件

这样jenkins的邮件通知就配置完成了。
 
 
 
 

使用Jenkins配置自动化构建

收藏:

持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了。
为了实现这个要求,我选择了Jenkins
从 http://mirrors.jenkins-ci.org/windows/latest下载windows下的最新安装版jenkins。(如果不 能安装,从http://mirrors.jenkins-ci.org/war/latest/jenkins.war下载war包,手动配置,配置说 明参见https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins)。
1.安装
这里直接使用安装包,安装过程很简单,这里就再说明了。
安装后 自动创建了一个windows服务:Jenkins,默认使用的端口是8080,如果需要修改,打开安装目录下的jenkins.xml文件,修改  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8081</arguments>后保存,启动jenkins服务。
打开http://192.168.0.10:8081/,看到类似下面的界面(我这里已经创建了一个任务):

说明jenkins已经安装成功。
2. 创建任务
  2.1 点“新Job”,界面如下:

输入任务名称,任意名称都可以,但最好是有意义的名称,这里输入的名称和项目名称相同为hummer
  2.2 选择项目类型,因我的项目是maven项目,这里选择“构建一个maven2/3项目”点击”OK“进入下一个界面。
  2.3 界面如下:

源代码管理根据自己的需要进行选择,我的源代码是使用svn管理的,这里选择“Subversion Modules”,在"Repository URL"录入你的svn仓库地址;第一次录入时还需要录入svn仓库的用户名和口令。
刚才的那个界面比较大,向下滚动,中间部分的界面如下:
构建触发器,我选择“Build whenever a SNAPSHOT dependency is built”,意思是依赖于快照的构建,应该是当svn有修改时就构建项目。
2.4 build设置不用修改,就使用pom.xml,目标选项也不用修改。
2.5 设置构建后的步骤,(Post Steps,可选设置 ),我这里要求构建成功后把war文件复制到指定的目录,然后停运tomcat,删除项目web目录,启动tomcat。
2.6 设置邮件通知 
勾选“E-mail Notification”,在recipients中录入要接收邮件的邮箱。
点“保存”,完成设置
3. 在工作区域的左边菜单上点“立即构建”,开始构建项目,

如果构建成功,则项目状态的S为蓝色,如果失败则为红色。

构建完成,左边菜单会显示有“控制台输出”,点击可以查看控制台详细输出。构建错误时也可以根据相应的错误信息进行修改。
posted on 2016-01-29 10:12  IMEIXI4EVER  阅读(15941)  评论(0编辑  收藏  举报