首先我这里要简单的对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的功能,这里只是给大家做一个快速上手和入门的工作


之前讲到的是如何构建一个项目,并且将代码进行编译、打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功。在之前的项目中我们采用的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 sonar判断扫描结果 sonar和jenkins_代码质量_03


2.我们添加一个deploy war/ear to a container选择,Jenkins中构建后操作多出一个发布选项

Jenkins sonar判断扫描结果 sonar和jenkins_代码质量_04

WAR/EAR files:是war包的相对路径
content path:tomcat的发布路径,即使用localhost/(content path设置的名字)来访问项目.

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

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

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

Jenkins sonar判断扫描结果 sonar和jenkins_Jenkins sonar判断扫描结果_05

Jenkins sonar判断扫描结果 sonar和jenkins_Jenkins sonar判断扫描结果_06


如果你部署的是集群环境那么可以添加多个容器来部署应用。


此时只要我们运行我们的任务即可将我们的应用发布到tomcat,记住这里要把应用服务器的防火墙关闭。


这里在多说一点tomcat默认的登录是注释的,我们需要打开。


在tomcat/conf/tomcat-users.xml下添加以下代码即可,因为之前的博客讲解过tomcat管理权限的配置,这里就不重复讲解。