sonar安装

##jdk不要用yum下载的

一、下载sonar源码

cd /usr/local/src
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.4.zip

unzip sonarqube-6.7.4.zip

mv
sonarqube-6.7.4 /usr/local/sonarqube


二、创建数据库及账号密码

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
grant all privileges on sonar.* to 'sonar'@'%' identified by 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
flush privileges;

三、修改sonar配置文件

[root@izm5ecjazswrig6et6loj1z ~]# egrep   "^[a-z]"  /usr/local/sonarqube/conf/sonar.properties 

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

sonar.web.host
=0.0.0.0 sonar.web.context=/ sonar.web.port=9000

 

四、创建sonar用户并以sonar用户启动

useradd sonar
su -c   '/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start'  sonar

五、错误解决(logs/sonar.log日志内容)

WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedException: /opt/sonarqube-6.7.4/temp/conf/es/elasticsearch.yml
java.nio.file.AccessDeniedException: /opt/sonarqube-6.7.4/temp/conf/es/elasticsearch.yml
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
    at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
    at java.nio.file.Files.delete(Files.java:1126)
    at org.sonar.process.FileUtils2$DeleteRecursivelyFileVisitor.visitFile(FileUtils2.java:170)
    at org.sonar.process.FileUtils2$DeleteRecursivelyFileVisitor.visitFile(FileUtils2.java:165)
    at java.nio.file.Files.walkFileTree(Files.java:2670)
    at java.nio.file.Files.walkFileTree(Files.java:2742)
    at org.sonar.process.FileUtils2.deleteDirectoryImpl(FileUtils2.java:127)
    at org.sonar.process.FileUtils2.deleteDirectory(FileUtils2.java:112)
    at org.sonar.application.AppFileSystem$CleanTempDirFileVisitor.visitFile(AppFileSystem.java:117)
    at org.sonar.application.AppFileSystem$CleanTempDirFileVisitor.visitFile(AppFileSystem.java:101)
    at java.nio.file.Files.walkFileTree(Files.java:2670)
    at org.sonar.application.AppFileSystem.createOrCleanTempDirectory(AppFileSystem.java:96)
    at org.sonar.application.AppFileSystem.reset(AppFileSystem.java:62)
    at org.sonar.application.App.start(App.java:55)
    at org.sonar.application.App.main(App.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
    at java.lang.Thread.run(Thread.java:748)
<-- Wrapper Stopped

###解决

删除/usr/local/sonarqube/temp目录

删除temp目录

rm -rf /usr/local/sonarqube/temp

###然后再启动

  

六、查看9000端口并在浏览器访问

[root@izm5ecjazswrig6et6loj1z ~]# ss -luntp|grep 9000
tcp    LISTEN     0      25        *:9000                  *:*                   users:(("java",pid=16863,fd=116))

  

 

七、中文插件安装

sonar版本对应的中文插件版本

###github地址 https://github.com/SonarQubeCommunity/sonar-l10n-zh/tags

wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.19/sonar-l10n-zh-plugin-.19.jar

mv sonar-l10n-zh-plugin-1.19.jar  /usr/local/sonarqube/extensions/plugins/

  

##重启sonar

8、下载sonar-sonarner(我下载了一个wordpress进行测试)

wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227.zip
unzip sonar-scanner-cli-3.2.0.1227.zip 
mv sonar-scanner-3.2.0.1227 /usr/local/sonar-scanner
 cd /usr/local/sonar-scanner
 cd conf/

[root@localhostPython]egrep -v "^#|^$" m /usr/local/sonar-scanner/conf/sonar-scanner.properties


sonar.host.url=http://localhost:9000

sonar.sourceEncoding=UTF-8      
sonar.projectKey=csgias-key    ##自定义的key
sonar.projectName=csgias       ##自定义项目名字
sonar.projectVersion=1.0        #版本
sonar.sources=/root/wordpress/php   ###代码目录

sonar.java.binaries=/root/wordpress/php  ####java需要制定这个

9.##执行命令

/usr/local/sonar-scanner/bin/sonar-scanner

  

查看sonar的web页面

###修改了代码后测试

####命令行形式扫描代码

/usr/local/sonar-scanner/bin/sonar-scanner -Dsonar.projectKey=test-key -D sonar.projectName=test -Dsonar.projectVersio=1.0 -Dsonar.sources=/root/ruby-2.4.4

原文地址:https://www.cnblogs.com/zhangb8042/p/9284063.html