救火队长 阅读(54) 评论(0)

 

Jenkins 下载

Jenkins是一个war包,可以部署在Web Server上使用。例如Tomcat、Jetty、WebLogic、GlassFish、IBM Websphere、JBoss、Jonas等。

Jenkins是前身是Hudson,所以现在可以使用Hudson,也可以使用Jenkins。它们操作基本上是一样的。

 

下载地址:

Hudson:

http://www.eclipse.org/hudson/download.php

下载后是一个war包:hundson.war。

 

Jenkins:

http://jenkins-ci.org/

下载后是一个war包:jenkins.war。

 

 

安装

 

准备工作

安装前需要安装好如下工具:Ant,maven

JDK则采用war包指定的版本。

 

环境变量的配置,可有可无。在jenkins启动后首次使用时,会让配置的。

 

JDK配置:

JAVA_6_HOME=E:\Program Files\Java\jdk1.6.0_43

JAVA_7_HOME=E:\Program Files\Java\jdk1.7.0_79

JAVA_8_HOME=E:\Program Files\Java\jdk1.8.0_20

JAVA_HOME=%JAVA_HOME%

 

Ant配置:

ANT_HOME=E:\Program Files\apache\ant\apache-ant-1.9.4

 

Maven配置:

MAVEN_3_2_HOME=E:\Program Files\apache\maven\apache-maven-3.2.3

MAVEN_3_3_HOME=E:\Program Files\apache\maven\apache-maven-3.3.9

MAVEN_HOME=E:\Program Files\apache\maven\apache-maven-3.2.3

 

指定安装目录

         默认情况下,jenkins采用的home目录(也可以认为是安装目录)是用户home目录下的.jenkins。当然了,也可以自定义安装目录。

 

自定义的方式是:

JENKINS_HOME=your Jenkins install directory

 

这里我指定目录是:E:\jenkins\home

 

安装

第一次启动Jenkins.war时, 就会先安装Jenkins,后启动Jenkins。

 

启动方法:

因为是一个war包,所以可以像其它的web应用一样直接部署到相应的服务器中。也可以直接的使用java –jar 命令来启动。

 

下面就采用java –jar命令来启动:

 

 

上述安装方式,是简单的安装,测试用的。但是在生产环境下,这样肯定是不行的,需要将其做成服务来启动。

 

下面就说一下在RedHat下安装成服务方式:

       1)如果机器可以访问网络,则将Jenkins仓库添加到机器上的yum仓库中就可以了。如果不能访问网络,需要下载rpm安装包。下载地址jenkins官网就有。

       2)sudo rpm –import Jenkins-ci.org.key

       3)sudo yum install jenkins

这一步,如果有安装包可以直接执行命令:sudo yum install ${jenkinspacke}

安装后在/etc/init.d/下可以找到一个名为jenkins的可执行文件。

4)环境配置的文件的位置:/etc/sysconfig/jenkins

可以修改jenkins的home目录和端口等。

 

 

 

Jenkins目录说明

 

启动完成后就可以在安装目录下看到已安装目录下的内容了:

 

 

 

Jobs:包括了所有的jenkins作业的配置、存储的构建、归档的构建输出等内容。

Plugins:所有的插件都在这个目录下。要安装某个插件,只需要将插件文件放到这个目录下,重启jenkins即可使用了。

userContent:可以将任意内容放到这个目录下,然后通过jenkins服务页面的子路径来访问。

War:如果是独立运行(不是部署在Web服务器中,通过启动Web服务器方式来启动jenkins)时,会将jenkins web应用的内容放在这个目录下。

*.xml :是各么配置文件。

 

 

构建环境配置

         使用Jenkins主要是做构建、测试的。构建测试都要有相应的环境才行的。例如JDK、Ant、Maven等。

 

 

 

 

Maven配置

 

JDK

 

 

Ant

 

 

 

Maven

配置setttings.xml

设置maven settings.xml文件的位置。

可以自己指定settings.xml的位置,也可以使用默认的settings.xml,即maven/config/settings.xml。

 

 

可以配置多个JDK、Ant、Maven,不同的项目,或者同一个项目的不同模块都有可能使用了不同的JDK、Ant、Maven。所以这里可以配置多个JDK、Ant、Maven版本。以供构建项目时根据需要做出选择。 

 

配置多个版本的Maven

 

 

maven运行时的环境变量

 

 

Maven项目的本地仓库位置配置

 

这个配置的是jekins机器上,仓库的位置。

 

Jenkins URL

 

 

这个配置的是访问jenkins console的URL。

 

Email

 

 

 

设置最大并发构建数

可以同时使用Jenkins构建多个项目,这些构建会并发执行。为也减少开销,配置最大并发数不能太大了。

 

 

构建项目

 

创建构建job

1、选择要构建的项目类型,并填写项目名称:

 

 

 

2、选择JDK版本

 

  

3、选择SCM

这个要根据工程本身使用的SCM来选择,如果工程使用SVN,那就在这里也选择SVN了。

 

 

check out 策略:svn update

源码库浏览器:自动

 通过这个截图可以看出,Jenkins是默认支持CVS、SVN的。如果你的项目是使用了Git来管理的,那么就需要安装git插件了。

 

下面是在插件管理界面搜索到的Git相关的插件了。

 

 

 

4、配置构建前后的动作

 

 

 

如果想要指定项目自身的maven settings.xml,可以在高级里设置。

 

5、触发器

触发器这里,有4个选项,是多选的。

 

 

·Build whenever a SNAPSHOT dependency is built

这个触发器是当pom.xml中的<dependency>发生了变化时,就会触发一次构建。这个选项在持续集成时非常有用。

·Build after other projects are built

         这个触发器是在其它的项目(上游项目)构建完成以后执行的。例如一个测试项目,可以在测试的目标项目构建完成以后开始构建。

·Build periodically

         周期性的构建任务。Jenkins实现这个功能时,采用的是Quartz框架,所以可以在这里配置Corn表达式。

默认的Corn表达式有7个:

 

 

这里只是取了中间的5个:

 

这个触发器会周期性构建,不会管这期间代码有什么改变 。

 

·Poll SCM

         这个构建方式,也需要配置一个Cron表达式。它的执行过程是这样的:

根据Cron表达式周期性的询问SCM Server,如果发生了改变,才会触发构建动作。

所以这个方式要比周期性构建更好一些。但是如果使用的SCM是CVS,这个操作会让CVS服务器的开销更大,就不要使用这种方式了。

 

 

执行构建job

 

配置完毕,点击立即构建,就开始了项目构建过程了。

 

 

构建状态

 

 

 

第一列:表示当前job的状态:

蓝色:最近一次构建是成功的。

红色:最近一次构建是失败的。

黄色:最近一次构建是成功的,但是有一些测试用例是失败的。

灰色:job被禁用或者还没有开始构建。

图标处于闪烁状态,表示正在构建。

 

 

每次Job状态

 

 

·变更记录:通过这里可以看到SVN|Git上最后提交的记录。

 

·控制台输出

这里的内容就是我们在开发阶段使用maven构建时控制台的输出。

 

 

还可以将构建时的console日志下载到本地查看。

 

tag

将某次构建作为一个tag上传到SVN仓库中。

 

 

 

Test-Result

查看测试结果:

 

 

 到这里为至,就将一个在Jenkins仓库构建任务,并查看任务状态,说明完毕。