【Jenkins持续集成(一)】SonarQube 入门安装使用教程
一、前言
持续集成管理平台不只是CI服务器,是一系列软件开发管理工具的组合。
源码版本管理:svn、git
项目构建工具:Maven、Ant
代码质量管理:Sonar(Checkstyle、PMD、FindBugs……)
持续集成引擎:Hudson、Jenkins、Apache Continuum
应用持续部署:操作系统、JDK、Tomcat、JBoss…
注:实现持续集成过程中还要用到其他各种工具、各种插件...
二、代码质量管理平台 -> SonarQube
SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞以及代码异常。它可以与您现有的工作流程集成,以便在项目分支和拉取请求之间进行连续的代码检查。
静态代码分析工具:Checkstyle,FindBugs,PMD,Sonar
思路:我们可以先安装SonarQube,然后在sonarqube中安装checkstyle、findbugs、pmd插件,最后在jenkins中通过sonar scanner runner进行远程调用集成sonarqube,使用checkstyle、findbugs、pmd提高我们的代码质量!
温馨小提示:
- 注意下载SonarQube的时候一定要根据自己的jdk以及mysql版本去下载对应的SonarQube版本!不然后面启动会出现自动停止!!!
- jenkins插件sonar scanner runner的版本要和sonarqube server的版本匹配!
- 两者使用的jdk版本也要对应一致!
了解:CI服务器 -> 持续集成服务器,CI Server会自动完成软件代码的编译和测试过程,我们可以通过使用Jenkins搭建CI服务器
SonarQube官方文档:https://docs.sonarqube.org/
1、下载SonarQube运行测试
小编基本环境
- windows系统
- jdk1.8.0_131
- mysql5.7版本
- maven3.6.1
温馨小提示:
- 小编刚开始直接下载的是SonarQube最新版7.9,后来发现它配置文件中没有mysql配置,并且启动后自动停止,于是下载了官方提供的7.8版本,看了一下是支持mysql配置的!
- 注意sonarqube中关于mysql版本的要求!
SonarQube下载地址:https://www.sonarqube.org/downloads/
下载完后直接解压即可~
进入bin目录下选择自己相应的环境双击 StartSonar.bat 启动运行测试

启动成功后,可访问 http://localhost:9000 【sonarqube 默认启动端口为:9000】

2、SonarQube配置
修改在conf目录下 sonar.properties 配置文件 【其它的一些配置根据自己情况去除注释修改即可~】
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

注:如果需要指定jdk版本运动启动,可如下配置 wrapper.conf 文件:
然后再进入bin目录下选择自己相应的环境双击 StartSonar.bat 启动运行
- 如果出现启动不了,就再重新试一次,因为我这里也是第2次才启动成功~
- 如果启动失败没有界面,可进入 logs 目录下查看相应错误信息并解决

3、安装汉化插件
点击右上角 Log in 登录 【默认用户名和密码都是admin】

选择 Administration -> Marketplace -> Plugins 中搜索 Chinese pack ,然后Install

最后重启即可!


4、安装checkstyle、findbugs、pmd插件
插件具体作用可自行百度了解
温馨小提示:这3个插件在我们的idea中也可以安装使用哦
5、SonarQube 使用
SonarQube有多种使用方式,eclipse或idea中使用,这里我们使用Maven Scanner
① 配置maven的settings.xml
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>jdbc:jdbc://localhost:3306/sonarqube</sonar.jdbc.url>
<sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>root</sonar.jdbc.username>
<sonar.jdbc.password>root</sonar.jdbc.password>
<!-- Sonar服务器访问地址 -->
<sonar.host.url>http://localhost:9000</sonar.host.url>
</properties>
</profile>

② 使用
在maven项目中执行如下命令
mvn clean install sonar:sonar
等待 BUILD SUCCESS

然后我们就可以访问 http://localhost:9000/projects 在项目中查看数据信息了~ 如下:

三、自动化构建、测试、部署 -> Jenkins
这里请手动转下一篇博客文章...
【Jenkins持续集成(一)】SonarQube 入门安装使用教程的更多相关文章
- Jenkins持续集成介绍及插件安装版本更新演示(一)--技术流ken
Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins功能包括: ...
- Jenkins持续集成(上)-Windows下安装Jenkins
环境:Windows 2008 R2.Jenkins2.235.1: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成SLB.配置管理.Jenkins)> ...
- Jenkins持续集成企业实战系列之Jenkins持续集成简介及安装-----02
1. Jenkins持续集成简介 注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求, ...
- [Jenkins]持续集成环境下fingbug插件的安装使用与配置
参考:https://wiki.jenkins.io/display/JENKINS/FindBugs+Plugin 突然,天降杂事.我是想安安静静的做个美丽的测试...但是事与愿违,项目经理叫我帮忙 ...
- python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?
python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windo ...
- jenkins持续集成源码管理选项为None,构建失败找不到git.exe解决办法
我的jenkins版本为Jenkins ver. 2.19.1 1.源码管理选项只有None的解决办法: 在插件管理中心,搜索对应的源码管理插件这里以git为例,搜索git plugin点击右下角的安 ...
- 【转】jenkins持续集成配置
搭建jenkins持续集成服务器 1.jenkins简介 Jenkins,前身为Hudson,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,包括: 持续的软件版本发布/测试项目. 监控 ...
- Jenkins持续集成
Jenkins持续集成 & .NET 最近受累于测试环境每次发布都很麻烦,而且我们有多个测试环境,因此专门抽时间做了Jenkins的配置和研究. 折腾了两天终于绿灯以后,先来个截图,Blu ...
- Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务注册与发现
前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇到一个问题,jenkins构建出来的镜像部署后,需要通过ip:port去访问,有什么更好的 ...
随机推荐
- 使用sc 命令写脚本 添加和删除服务 简单应用
添加服务 @echo.服务启动...... @echo off @sc create 服务名 binPath= "%~dp0\服务路径" @sc config 服务名 start= ...
- 由group by引发的sql_mode的学习
前言 在一次使用group by查询数据库时,遇到了问题.下面先搭建环境,然后让问题复现,最后分析问题. 一 问题复现 mysql版本 建表插入数据 表的结构 现在问题来了:我想查询上面表中每个部门年 ...
- 9407web常用符号
常用符号 转载自 http://www.fhdq.net/ ❤❥웃유♋☮✌☏☢☠✔☑♚▲♪✈✞÷↑↓◆◇⊙■□△▽¿─│♥❣♂♀☿Ⓐ✍✉☣☤✘☒♛▼♫⌘☪≍←→◈◎☉★☆⊿※¡━┃♡ღツ☼☁❅♒✎©® ...
- 关于前端jsonp跨域和一个简单的node服务搭建
先讲下概念 同源策略:是一种约定,浏览器最核心最基本的安全功能,(同域名,同协议,同端口)为同源 跨域: 跨(跳):范围 域 (源):域名,协议,端口 域名:ip的一种昵称(为了更好记住ip地址)如: ...
- 深入理解vmware虚拟网络
0x01:vmware workstation VMware Workstation是一款非常不错的虚拟机软件,许多爱好者用VMware,Workstation设计多种实现环境做测试.VMware W ...
- ModelAndViewContainer、ModelMap、Model详细介绍【享学Spring MVC】
每篇一句 一个开源的技术产品做得好不好,主要是看你能解决多少非功能性问题(因为功能性问题是所有产品都能够想到的) 前言 写这篇文章非我本意,因为我觉得对如题的这个几个类的了解还是比较基础且简单的一块内 ...
- 洛谷 P1514 【引水入城】
题库 :洛谷 题号 :1514 题目 :引水入城 link :https://www.luogu.org/problemnew/show/P1514 思路 :搜索从第一排开始能覆盖最后一排的区间L ~ ...
- NLP(九) 文本相似度问题
多个维度判别文本之间相似度 情感维度 Sentiment/Emotion 感官维度 Sense 特定词的出现 词频 TF 逆文本频率 IDF 构建N个M维向量,N是文档总数,M是所有文档的去重词汇量 ...
- windows服务autofac注入quartz任务
一.nuget下载相关类库引用 install-package Quartz install-package Autofac install-package Autofac.Configuration ...
- POJ - 3436 ACM Computer Factory 网络流
POJ-3436:http://poj.org/problem?id=3436 题意 组配计算机,每个机器的能力为x,只能处理一定条件的计算机,能输出特定的计算机配置.进去的要求有1,进来的计算机这个 ...
