持续集成Jenkins+sonarqube部署教程

本文详述了如何安装和配置Jenkins、SonarQube、Sonar-runner、Maven,以及它们之间的集成。内容包括环境变量设置、插件安装、代码分析、Jenkins项目构建和邮件通知。通过集成,实现自动化代码质量检查和构建过程。
摘要由CSDN通过智能技术生成

一 概述

 

     本文主要介绍jenkins,sonarQube的安装与集成,代码分析有sonarQUbe和sonar-runner构建,或者在maven项目情况下可以sonarQbude和maven的构建。介绍jenkins的编译打包部署,代码检查。最后集成jenkins

二 预装软件

 

  • 软件名称 平台 备注
  • jdk1.8.0_60 Win10 操作系统
  • apache-tomcat-8.0.20 Win10 Tomcat容器
  • Jenkins Win10 端口 8088
  • sonarqube-6.2 Win10 端口 9090
  • sonar-runner-2.6.1 Win10
  • mysql 5.6 Win10
  • nexus-3.2.0-01 Linux Maven私有服务

三 配置环境变量

   配置各软件的环境变量方法不展开描述。除nexus外,其余都在安装在本地。

 

 

 

四 sonarQube安装

4.1 将sonaeQbude解压到本地。

     修改sonar.properties文件.数据库使用本地的mysql,创建一个名为sonar的库。

     当sonarQube启动时候会自动创建表。

     

     建库语句

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;  
   
    添加如下内容,sonar默认自带mysql驱动。
sonar.jdbc.username=root
sonar.jdbc.password=11111
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true 
sonar.jdbc.driverClassName=com.mysql.jdbc.Driver

    新的sonarQbude的表相对旧版来说有了新的改动,升级时候需要把旧的表删除。否则会报以下错。

exception caught on transport layer [[id: 0xc7fbf08e, /127.0.0.1:55381 => /127.0.0.1:9001]], closing connection  
java.io.IOException: 远程主机强迫关闭了一个现有的连接。  

 

4.2 启动sonarQube

 
   
 

     运行“StartSonar.bat”, 访问9000端口,sonar默认自带了jetty服务器。

     默认用户名密码 admin、admin。一些设置和菜单只有在登陆之后才能看到。

     因个人9000端口有其他用途,将端口改为9090.

  sonar.web.port=9090

 

  4.3汉化sonarQube

 

   官网地址 http://docs.sonarqube.org/display/PLUG/Plugin+Library

    
 

   将sonar-l10n-zh-plugin-1.13.jar放置于sonarqube-6.2\extensions\plugins下。重启sonarQube。

 soanrQube有一些需要到的插件,用于代码分析。

插件介绍

插件的下载地址为:http://docs.codehaus.org/display/SONAR/Plugin+Library

将下载后的插件上传到${SONAR_HOME}extensions\plugins目录下,重新启动sonar。

sonar默认集成了Java Ecosystem插件,该插件是一组插件的合集

(1)Java [sonar-java-plugin]:java源代码解析,计算指标等

(2)Squid [sonar-squid-java-plugin]:检查违反Sonar定义规则的代码

(3)Checkstyle [sonar-checkstyle-plugin]:使用CheckStyle检查违反统一代码编写风格的代码

(4)FindBugs [sonar-findbugs-plugin]:使用FindBugs检查违反规则的缺陷代码

(5)PMD [sonar-pmd-plugin]:使用pmd检查违反规则的代码

(6)Surefire [sonar-surefire-plugin]:使用Surefire执行单元测试

(7)Cobertura [sonar-cobertura-plugin]:使用Cobertura获取代码覆盖率

(8)JaCoCo [sonar-jacoco-plugin]:使用JaCOCO获取代码覆盖率

常用的插件:

(1)JavaScript代码检查:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin

(2)Python代码检查:http://docs.codehaus.org/display/SONAR/Python+Plugin

(3)Web页面检查(HTML、JSP、JSF、Ruby、PHP等):http://docs.codehaus.org/display/SONAR/Web+Plugin

(4)xml文件检查:http://docs.codehaus.org/display/SONAR/XML+Plugin

(5)scm源码库统计分析:http://docs.codehaus.org/display/SONAR/SCM+Stats+Plugin

(6)文件度量:http://docs.codehaus.org/display/SONAR/Tab+Metrics+Plugin

(7)中文语言包:http://docs.codehaus.org/display/SONAR/Chinese+Pack

(8)时间表显示度量结果:http://docs.codehaus.org/display/SONAR/Timeline+Plugin

(9)度量结果演进图:http://docs.codehaus.org/display/SONAR/Motion+Chart+Plugin

(b)插件配置示例(本段内容来自http://www.ibm.com/developerworks/cn/java/j-lo-sonar/

 

 

五 sonar-runner安装

5.1 修改sonar-runnerc下的conf的sonar-scanner.properties配置文件

 

sonar.host.url=http://localhost:9090
sonar.jdbc.username=root
sonar.jdbc.password=11111
sonar.jdbc.url=jdbc:mysql://10.10.5.64:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true 
sonar.jdbc.driverClassName=com.mysql.jdbc.Driver
 

5.2  在项目的根目录下添加文件sonar-project.properties

    1 单一个项目

sonar.projectKey=pljj
sonar.projectName=pljj
sonar.projectVersion=1.0-SNAPSHOT
sonar.sources=src/main/java
sonar.tests=src/test/java
sonar.binaries=target/classes

sonar.language=java

 

  2 maven多模块

sonar.projectKey=pljj
sonar.projectName=pljj
sonar.projectVersion=1.0
sonar.sources=.
sonar.language=java
sonar.sourceEncoding=UTF-8

   或者

sonar.projectKey=com.pljj-job
sonar.projectName=elastic-job
sonar.projectVersion=1.1.0
# Set modules IDs
sonar.modules=pljj-core,pljj-console,pljj-spring
# Modules inherit properties set at parent level
sonar.sources=src/main/java
sonar.tests=src/test/java
sonar.java.binaries=target
sonar.language=java
 

 

 5.3,运行sonar-runner

 

    在“开始”》“运行”中输入cmd切换的项目更目录 输入“sonar-runner”

 

    以下为成功目录
    

 

  登陆http://localhost:9090/ 查看代码扫描结果,帐号密码admin/admin


 

 

六   mave安装和sonarQbude配合使用

6.1在maven官网下载maven

http://maven.apache.org/download.cgi

打开cmd窗口数据 mvn –v 查看maven

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值