标签:质量管理 codehaus jpg centos 7 安装 zip dmi shu server
SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。
通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言(支持的语言包括:Java、PHP、C#、C、python 、Cobol、PL/SQL、Flex等)提供支持,对国际化以及报告文档化也有良好的支持。可以说Sonar是目前最强大的代码质量管理工具之一。
首先使用Java -version 查询本机是否已安装JDK环境,Centos7自带OpenJDK的环境,但是需要手动配置/etc/profile文件,在此之前需要开始找java的安装路径..每个人路径不一样。
下面提供寻找Java安装路径方法,(注意:which ,whereis找到的并不是Java环境的地址)
[root@localhost local]#which java
usr/bin/java
[root@localhost local]# ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 2020/08/06 15:28:44 /usr/bin/java -> /etc/alternatives/java
[root@localhost local]#ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 2020/08/06 15:28:44 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/jre/bin/java
此时拿到你的Java安装路径后 进入 /etc/profile 开始配置
vim /etc/profile 在末尾添加一下配置
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64 #(本机Java安装目录)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export TIME_STYLE=‘+%Y/%m/%d %H:%M:%S‘
保存退出 source /etc/profile
注意:不要使用MySQL8.0版本。
需要Mysql数据库支持;虽然SonarQube自带了H2数据库,但是为了方便管理数据推荐使用Mysql数据库
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql57-community-release-el7-11.noarch.rpm
yum install mysql-community-server
systemctl start mysqld.service
新安装的mysql数据库 root用户 密码查询
grep "password" /var/log/mysqld.log (密码为最后的不规则字符串)
获取密码后第一次登录请及时修改密码
命令如下:
update user set authentication_string = password(‘这里输入新密码‘),password_last_changed=now() where user=‘root‘;
mysql -u root -p
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER ‘sonar‘ IDENTIFIED BY ‘sonar_1234‘;
mysql> GRANT ALL ON sonar. TO ‘sonar‘@‘%‘ IDENTIFIED BY ‘sonar_1234‘;
mysql> GRANT ALL ON sonar. TO ‘sonar‘@‘localhost‘ IDENTIFIED BY ‘sonar_1234‘;
mysql> FLUSH PRIVILEGES;
注意:如数据库配置错误可参考https://blog.csdn.net/zq_zhang/article/details/77444753?utm_source=blogxgwz5
注意踩坑之处特别说明:
安装完成数据库并拿到初始密码出现无法登入的情况,造成出现的原因可能是随机的字符串密码出现转义造成无法登录,(此坑文档小哥遇到过太坑了),解决办法如下:
修改配置文件
vim /etc/my.cnf
在 pid 开头的下一句加入
skip-grant-tables
保存退出,重启mysql服务
service mysqld restart
此时可以无密登录mysql 并修改密码(修改密码命令如上)
密码修改完成后请再次进入 vim /etc/my.cnf 将加入的语句直接删除
在安装之前,介绍一下SonarQube和SonarQube Runner之间的关系。
SonarQube是服务器端,它主要有两个功能:1.分析源代码;2.因为它内嵌了Apache模块,所以提供Web端的界面访问。
SonarQube Runner是一个利用SonarQube服务端分析代码的命令行工具,可以把它简单理解为客户端。
所以,为了安装和调试方便,建议SonarQube和SonarQube Runner都下载。
建议安装后并解压到 usr/local
sonarqube下载地址: https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.5.zip
sonarqube-runner下载地址
wget http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
sonar-scanner下载地址 (与sonar-runner 效果差不多)
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-linux.zip
sonarqube等插件下载速度贼慢,如有需要建议直接找文档小哥要安装包
export SONAR_HOME=/usr/local/sonarqube-6.7.5
export SONAR_RUNNER_HOME=/usr/local/sonar-scanner-3.0.3.778-linux
export SONAR_RUNNER_HOME=/usr/local/sonar-runner-2.4
PATH=$PATH:$SONAR_HOME/bin:$SONAR_RUNNER_HOME/bin
export PATH
source /etc/profile 使之生效
验证:
sonar-runner -v
SonarQube Runner 2.4
Java 1.8.0_181 Oracle Corporation (64-bit)
Linux 3.10.0-862.9.1.el7.x86_64 amd64
进入配置文件mulu:cd /usr/local/sonarqube-6.7.5/conf
修改配置文件:vim sonar.properties,修改内容如下:
sonar.jdbc.username=sonar (第16行)
sonar.jdbc.password=Sonar_1234 #(配置数据库用户所用的密码) (第17行)
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false (第26行)
sonar.web.host=192.168.31.218 #根据个人ip地址修改 (第105行)
sonar.web.port=9000 (第111行)
进入目录cd /usr/local/sonar-runner-2.4/conf,修改配置文件:vim sonar-runner.properties
修改内容:
#Configure here general information about the environment, such as SonarQube DB details for example
2 #No information about specific project should appear here
3
4 #----- Default SonarQube server
5 sonar.host.url=http://192.168.31.218:9000 # 根据个人ip地址修改
6
7 #----- PostgreSQL
8 #sonar.jdbc.url=jdbc:postgresql://localhost/sonar
9
10 #----- MySQL
11 sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8
12
13 #----- Oracle
14 #sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE
15
16 #----- Microsoft SQLServer
17 #sonar.jdbc.url=jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
18
19 #----- Global database settings
20 sonar.jdbc.username=sonar
21 sonar.jdbc.password=Sonar_1234
22
23 #----- Default source code encoding
24 sonar.sourceEncoding=UTF-8
25
26 #----- Security (when ‘sonar.forceAuthentication‘ is set to ‘true‘)
27 sonar.login=admin
28 sonar.password=admin
#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here
#----- Default SonarQube server
sonar.host.url=http://192.168.31.218:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
vim /usr/local/sonarqube-6.7.5/elasticsearch/config
,修改配置为:
network.host: 192.168.31.218
#
# Set a custom port for HTTP:
#
http.port: 9200
sonarqube需要普通用户才能启动,不能使用root用户,这个比较好办,新建用户和组,更改属组就可以:
[root@localhost local]# esadmin # 取普通用户名字
[root@localhost local]# chown -R esadmin /usr/local/sonarqube-6.7.5
[esadmin@localhost local]# /usr/local/sonarqube-6.7.5/bin/linux-x86-64/sonar.sh start
注意:必须是普通用户启动,并赋予权限
su sonar ./bin/linux-x86-64/sonar.sh status
tail -f /usr/local/sonarqube-6.7.5/logs/sonar.log
日志内容显示如下则启动成功
登入地址: http://192.168.31.218:9000 # (根据个人ip地址登录)
登入密码为 配置sonar-runner所配置的账号及密码 这里配置的账号密码都是 admin
可以开始创建新项目名称,新项目可以在帮助里面创建。
可以在sonar的第三方应用市场下载中文包
由于sonar版本问题可能无法在这里下载,可以进入以下地址下载对应的中文包
中文包下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases
质量分析报告插件下载地址:https://gitee.com/zzulj/sonar-pdf-plugin/releases
根据sonarqube版本下载相对应的版本,将插件放在 /usr/local/sonarqube-6.7.5/extensions/plugins
并重启sonar
全局配置sonar-pdfreport
在你所需要扫描的项目根目录下创建配置配置文件
vim sonar-project.properties
#must be unique in a given SonarQube instance
# 为sonarqube中创建的令牌名字
sonar.projectKey= ruichi
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
# 该名字可以随便取,主要用于结果展示的项目名字
sonar.projectName= cloud_phone
# 项目版本号,有可能一个文件多次扫描
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# This property is optional if sonar.modules is set.
# 需要扫描的代码文件目录
sonar.sources= src/
#这是target(如果没编译可以不写)
sonar.java.binaries=target/classes (项目路径)
# 需要扫描的代码语言 如 Py PHP 等(注意 ,Python只写py后缀)
sonar.language=java
# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8
注意:需要切换到 sonar-project.properties 配置文件的 上级目录位置执行,否则可能报错
[root@localhost local]#/usr/local/sonar-runner-2.4/bin/sonar-runner
或者 (取决于你用何种扫描工具)
[root@localhost local]#/usr/local/sonar-scanner-3.3.0.1492-linux/bin/sonar-scanner
http://192.168.31.218:9000 结果如下:
找到所扫描的项目,可在“更多” 点击下载pdf分析报告。
标签:质量管理 codehaus jpg centos 7 安装 zip dmi shu server
原文地址:https://www.cnblogs.com/lqh950422/p/13640027.html