【Linux运维入门】Linux环境安装SonarQube和SonarQube Runner

2024-05-04 02:08

本文主要是介绍【Linux运维入门】Linux环境安装SonarQube和SonarQube Runner,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SonarQube简介

Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。

此外,Sonar 的插件还可以对 Java 以外的其他编程语言(支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex等)提供支持,对国际化以及报告文档化也有良好的支持。可以说Sonar是目前最强大的代码质量管理工具之一。

下面就来揭开Sonar的神秘面纱,看看如何在Linux环境上安装Sonar。

1.安装环境

系统环境:centos7.0 -x86_64(最小化安装)
前置条件:jdk1.8 , mysql-5.1.57
软件下载目录:/storage/software
软件安装目录:/usr/local/sonarqube
软件版本:sonarqube-5.2,sonar-runner-dist-2.4
下载地址:http://www.sonarqube.org/downloads/


2.预置条件


2.1 需要JDK1.6+支持;(如何安装见【Linux运维入门】Linux环境安装配置JDK)

2.2 需要Mysql数据库支持;(虽然SonarQube自带了H2数据库,但是为了方便管理数据推荐使用Mysql数据库,如何安装见:【Linux运维入门】Linux环境编译安装、配置Mysql)

JDK是必须安装的,Mysql数据库并不是必须要安装的,如果公司有Mysql服务器,直接拿来使用就行,但是需要更改mysql的默认引擎为INNODB,否则会报错。下一篇博客讲解如何解决这些错误。


3.安装


在安装之前,介绍一下SonarQube和SonarQube Runner之间的关系。
SonarQube是服务器端,它主要有两个功能:1.分析源代码;2.因为它内嵌了Apache模块,所以提供Web端的界面访问。

SonarQube Runner是一个利用SonarQube服务端分析代码的命令行工具,可以把它简单理解为客户端。

所以,为了安装和调试方便,建议SonarQube和SonarQube Runner都下载。

3.1 安装SonarQube

第一步:将下载的sonarqube-5.2.zip解压后移动到/usr/local目录下。具体步骤如下:

[root@master ~]# cd /storage/software/
[root@master software]# unzip sonarqube-5.2.zip 
[root@master software]# mv sonarqube-5.2  /usr/local/sonarqube

第二步:配置环境变量

[root@master ~]# vi + /etc/profile

添加

SONAR_HOME=/usr/local/sonarqube
export SONAR_HOME

保存退出并使配置生效

[root@master ~]# source /etc/profile

第三步:配置sonar.properties

[root@master ~]# vi /usr/local/sonarqube/conf/sonar.properties

打开后,修改

#----- MySQL 5.x
# Only InnoDB storage engine is supported (not myISAM).
# Only the bundled driver is supported. It can not be changed.
sonar.jdbc.url=jdbc:mysql://192.168.22.220:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

第四步:启动服务


[root@master ~]# /usr/local/sonarqube/bin/linux-x86-64/sonar.sh start

另外,启动/停止/重启命令如下:

#./sonar.sh start   启动服务 
#./sonar.sh stop    停止服务 
#./sonar.sh restart 重启服务

第四步:访问SonarQube Web管理界面。如果能够看到sonar主页证明SonarQube安装成功啦。但是我安装的时候并没有这么顺利,遇到的错误下篇博客讲解。

3.2 安装SonarQube Runner

第一步:将下载的sonar-runner-dist-2.4.zip解压后放到/usr/local目录下。具体步骤如下:

[root@master ~]# cd /storage/software/
[root@master opt]# unzip sonar-runner-dist-2.4.zip
[root@master opt]# mv sonar-runner-2.4/ /usr/local/ 

第二步:配置环境变量

[root@master ~]# vi + /etc/profile#添加
SONAR_RUNNER_HOME=/usr/local/sonar-runner-2.4/
PATH=.:$SONAR_RUNNER_HOME/bin 
export SONAR_RUNNER_HOME

保存并退出

[root@master ~]# source /etc/profile

第三步:配置sonar-runner.properties

[root@master conf]# vi /usr/local/sonar-runner/conf/sonar-runner.properties#修改
sonar.jdbc.url=jdbc:mysql://192.168.22.220:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.login=admin
sonar.password=admin

第四步:运行sonar-runner分析源代码

Sonar官方已经提供了非常全的代码样例便于新手入门用。

下载地址:https://github.com/SonarSource/sonar-examples/archive/master.zip

下载后使用unzip解压。执行sonar-runner命令即可。操作命令如下:

[root@master software]# wget -c https://github.com/SonarSource/sonar-examples/archive/master.zip
[root@master software]# unzip sonar-examples-master.zip
[root@master software]# mv sonar-examples-master /usr/local/sonar-examples
[root@master software]#cd /usr/local/sonar-examples/projects/languages/java/sonar-runner/java-sonar-runner-simple
[root@master java-sonar-runner-simple]# /usr/local/sonar-runner/bin/sonar-runner

如果能够看到下面的输出信息,证明你的SonarQube Runner安装并配置正确啦。

INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
Total time: 2:59.167s
Final Memory: 17M/204M
INFO: ------------------------------------------------------------------------

第五步:看看SonarQube的Web界面,是否已经可以看到分析的结果啦。


这里写图片描述


SonarQube默认是没有安装中文语言包的。需要安装的话,进入SonarQube插件目录,下载语言包即可。步骤如下:

root@master ~]# cd /usr/local/sonarqube/extensions/plugins
[root@master plugins]# wget -c http://repo1.maven.org/maven2/org/codehaus/sonar-plugins/l10n/sonar-l10n-zh-plugin/1.8/sonar-l10n-zh-plugin-1.8.jar

下载完成后重启sonar即可看到中文界面,当然也可以将下载好的插件直接上传到该目录。

PS:最新版本的语言包是sonar-l10n-zh-plugin-1.8.jar

这是中文语言包的下载地址:https://github.com/SonarCommunity/sonar-l10n-zh


小结


作为代码质量管理平台,通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins等等。以前使用这些工具的时候都是单个安装,并且相互之间独立。而Sonar就是测试工具的集大成者,将这些独立的工具整合到一起,一统江湖,使其共同提供服务。从而使我们可以方便地对不同规模和种类的工程进行代码质量管理。

这篇关于【Linux运维入门】Linux环境安装SonarQube和SonarQube Runner的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/958134

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal