SonarQube是一款开源的代码质量管理工具,支持多种语言,如:JAVA、C#、C\C++等,同时可以与Sonar Scanner、Maven、Jekins、IDEA等工具进行集成。
一、安装
注意:
1、SonarQube7.9及以后的版本不再支持MySQL
2、SonarQube7.9之前的版本要求MYSQL(5.6=< 版本<8.0)
3、SonarQube对SqlServer的版本要求也挺高
4、SonarQube7.9要求jdk11及以上
总之,在安装之前一定要确定好SonarQube版本、数据库版本、jdk版本,网址:https://docs.sonarqube.org/latest/requirements/requirements/
下面示例还是使用一个较老的版本进行安装:SonarQube7.2.1+mysql5.6+jdk1.8
1.1、mysql数据库安装
下载离线安装包并解压
添加环境变量
修改配置文件my-default.ini
以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),通过命令,进入bin目录
输入 mysqld --initialize-insecure --user=mysql
输入 mysqld install
启动mysql,net start mysql
输入 mysql -u root -p ,回车,出现 Enter password: ,输入密码,由于刚安装,没有设置密码,直接回车 Enter 进入
设置root密码,依次输入以下命令
mysql>use mysql; mysql>update user set password=password('your password') where user='root'; mysql>flush privileges;
输入 quit 命令退出当前登录,用新的密码重新连接 mysql
mysql默认只能本机登录,如果只是本机使用,就可以不用设置远程登录,使用 localhost做为主机地址登录。
如果想远程登录,通过以下命令,设置允许远程登录:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
your username 和 your password 改成 mysql 数据库的用户和密码
至此,mysql安装完成,默认端口号为3306。
1.2、SonarQube安装
下载地址:https://www.sonarqube.org/downloads/
界面底部,可以下载历史版本
在 mysql上创建数据库sonar
解压,修改配置文件sonar.properties
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.jdbc.username=root sonar.jdbc.password=gy@12345 sonar.sourceEncoding=UTF-8
启动SonarQube,这里是windows64位的启动方式
出现Process[es] is up代表启动成功,第一次启动会在数据库中自动生成相关的表。
在浏览器输入:http://localhost:9000,如果看到以下页面说明配置成功:
点击“Log in”,输入用户名和密码,默认:admin/admin,有一步token认证,可以忽略。
汉化包安装,根据SonarQube选择对应的版本,下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases
汉化包放到extensions/plugins文件夹下
重启SonarQube服务,windows情况下,可能会报错,打开任务管理器,关闭所有的java.exe进程,然后重新运行StartSonar.bat文件。
打开网页,界面已经被汉化
二、使用
SonarQube可以结合多种工具使用,Sonar Scanner、Maven、Jekins、IDEA等等,下面以maven为例。
2.1、配置maven
修改maven的conf/setting文件,增加如下内容。
<pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- Optional URL to server. Default value is http://localhost:9000 --> <sonar.host.url> http://localhost:9000 </sonar.host.url> </properties> </profile> </profiles>
2.2、检测代码
找到包含pom.xml的代码路径
打开cmd,进入上面的路径,执行命令:mvn clean install sonar:sonar,注意:maven要加入环境变量。
刷新网页