持续集成之jenkins(二)
1.1 jenkins安装与升级
1、下载地址(官网):http://jenkins-ci.org/
2、安装:比较简单,这里就是将下载的jenkins.war放到tomcat下即可。然后访问配置。
这里需要说一下的是,我是在linux下用root账号安装的jenkins。当我们安装成功后进行配置的时候,相关的配置文件生成在/root/.jenkins/目录下。当我们从svn获取相关文件的时候也一并存储在这个根目录下的目录中。
3、升级:现阶段升级只需要直接替换war包,原有设置项都会生效。
1.2 jenkins配置
1.2.1 安装ant
从官网下载了一个ant的最新版本。解压到/usr/local/目录
做相关环境变量声明,这里我将环境变量声明到/etc/profile.d/目录下,写了一个java.sh shell脚本。
如下:
JAVA_HOME=/usr/java/jdk1.6.0_22
ANT_HOME=/usr/local/apache-ant-1.8.4
CATALINA_BASH=$TOMCAT_HOME
CATALINA_HOME=$TOMCAT_HOME
JRE=$JAVA_HOME/jre
MAVEN_HOME=/usr/local/maven3
CLASSPATH=$JAVA_HOME/lib:$JRE/lib
PATH=$MAVEN_HOME/bin:$ANT_HOME/bin:$JAVA_HOME/bin:$JRE/bin:$PATH
export JAVA_HOME JRE CLASSPATH PATH CATALINA_BASH CATALINA_HOME MAVEN_HOMEANT_HOME
1.2.2 安装maven
到maven的官方站点下载maven的最新版本3.0.3版本。解压到/usr/local/目录下。同样做环境变量声明。这里我在/etc/profile.d/目录下写了一个java.sh文件进行声明。
如下:
JAVA_HOME=/usr/java/jdk1.6.0_22
ANT_HOME=/usr/local/apache-ant-1.8.4
CATALINA_BASH=$TOMCAT_HOME
CATALINA_HOME=$TOMCAT_HOME
JRE=$JAVA_HOME/jre
MAVEN_HOME=/usr/local/maven3
CLASSPATH=$JAVA_HOME/lib:$JRE/lib
PATH=$MAVEN_HOME/bin:$ANT_HOME/bin:$JAVA_HOME/bin:$JRE/bin:$PATH
export JAVA_HOME JRE CLASSPATH PATHCATALINA_BASH CATALINA_HOME MAVEN_HOME ANT_HOME
1.2.3 配置jenkins
“系统管理”-》“配置管理”中进行全局的相关配置
全局设置
主要是系统的全局目录设置。这里会自动生成到/root/.jenkins/ 下。这里会将jenkins相关的数据存储以及相关文件存放都统一放到这个目录下。
全局环境变量设置
假如我们将findbugs这个插件想在项目中引入,那么就需要需要环境变量设置。当然我们也可以设置其他的环境变量。这里我们可以直接在jenkins中定义jenkins能使用的全局环境变量。如下图:
配置JDK
jenkins是需要指定jdk进行代码编译检查的。这里可以指定JDK的相关配置路径。如下图:
配置ANT
jenkins需要指定ant的配置目录,进行相关调用。如下图:
配置maven
指定maven的相关目录,同时也指定了maven运行时的内存。如下图:
配置sonar runner
当我们创建一个job的时候可能需要通过sonar runner插件来完成sonar的调用,这里我们指定安装sonar2.0插件
配置sonar
jenkins的sonar插件相当于sonar的客户端,这里需要配置指定我们接收sonar数据的服务器,这里我们需要配置下sonar的服务器端相关参数。如下图:
邮件通知
当jenkins进行完成的时候,需要进行邮件通知,这里就是设定发送邮件的SMTP服务器以及邮箱。如下图:
1.3 创建JOB
针对一个项目的持续集成构建,需要进行相关的配置。并对之前之后进行相关插件的调用。
1.3.1 设置项目基本信息
主要是构建项目的名称以及描述
构建项目的相关配置项。
如下图示例:
1.3.2 高级设置选项
这里的设置我是很少选择,看个人需要了。如下图:
1.3.3 源码管理(指定SVN路径)
这里因为公司的源码服务器是svn,所以直接展示svn的设置了,如果是cvs也是可以的。这里对svn的访问权限是在系统全局设置中设定的。这里只是指定具体的项目路径。
如下图:
1.3.4 构建触发器
就是设定什么时候触发这个job的持续集成。
支持linux的时间格式。这里我设置了每天执行一次。
如下图:
1.3.5 配置构建之前的动作
这里有一些在构建之前的相关操作动作。这里我很少使用。如下图示例:
1.3.6 指定pom.xml文件的执行命令
这里在上边源码管理的时候将文件下载到/root/.jenkins/jobs/cmsouter_test/workspace/下
pom.xml文件一定要在这个目录能找到。否则执行失败。
常规命令执行
一般我们执行maven的命令如下:
mvn clean compilepackage
在jenkins的job中如何配置
在jenkins中配置的时候将mvn去掉。直接用“cleancompile package”
如下图示例:
1.3.7 配置构建之后的动作
我在构建之后执行了sonar的分析,通过sonar插件将构建相关数据发送到sonar服务器去进行分析。这里需要进行一些配置。这里一些配置参数必须设置,否则无法成功调用sonar服务器。
如下图:
当然我们也可以不选择sonar进行构建。不过我已经将findbugs之类的放到sonar中了。这样一劳永逸。
这里我项目配置内容如下:
sonar.projectKey=hd:cmsouter
sonar.projectName=cmsouter
sonar.projectVersion=1.0.0
sonar.sources=/root/.jenkins/jobs/cmsouter_test/workspace/src/main/java
sonar.language=java
sonar.doxygen.generateDocumentation=enable
进行sonar分析
这里直接通过sonar runner和全局配置中的sonar配置项进行构建后的数据传输。
我们还可以直接通过pom.xml文件中直接进行sonar的调用。当然执行命令就需要带有sonar的执行了。
mvn sonar:sonar 支持
大家看到命令行中支持mvn sonar:sonar 这个命令,那需要我们在maven的conf/setting.xml 中进行设置的。设置方式参考如下:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>
jdbc:mysql://192.168.119.158:3306/sonar?useUnicode=true&characterEncoding=utf8
</sonar.jdbc.url>
<sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName>
<sonar.jdbc.username>root</sonar.jdbc.username>
<sonar.jdbc.password>password</sonar.jdbc.password>
<sonar.host.url>
http://192.168.119.159:9000
</sonar.host.url>
</properties>
</profile>
<activeProfiles>
<activeProfile>sonar</activeProfile>
</activeProfiles>
前提也是我们要先安装好sonar的服务器端。这个只是通过pom.xml文件支持sonar执行命令的一种方式。
1.3.8 构建结果提醒设置
当我们构建完成后可以设置相关的邮件提醒。这里参考示例如下:
1.4 增加负载节点
1.5 自动部署
更多推荐
所有评论(0)