sonar服务搭建

1.下载安装包,我安装的是6.7.6版本

https://www.sonarqube.org/downloads/

2.安装前的环境要求

     JDK1.8+ 

   数据库,我用的是Mysql5.6版本

3.修改配置

  打开SonarQube目录下的conf/sonar.properties文件,配置它的数据库连接,启用和配置下面的选项:

  

sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
#linux版本不同时,启动es会出现错误,加入下面配置可避免
sonar.search.javaAdditionalOpts=-Dbootstrap.system_call_filter=false

  修改配置文件wrapper.conf,指定jdk版本

  

wrapper.java.command=/usr/java/jdk1.8.0_111/bin/java

  修改elasticsearch.yml配置文件,在 Memory 区域加上

bootstrap.system_call_filter:false

 

4.切换到bin目录下,执行,必须用非root用户启动该脚本

./sonar.sh start

因为安全问题elasticsearch 不让用root用户直接运行

创建用户
$ adduser sonarUser
为用户创建密码
$ passwd sonarUser
输入两次密码,
修改sonar的目录和用户组为sonarUser
$ chown -R sonarUser:sonarUser sonarqube-6.7.2

启动es时,还会遇到以下各种错误

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

解决:切换到root用户,编辑limits.conf 添加类似如下内容

vi /etc/security/limits.conf 

添加如下内容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096
问题三:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

解决:切换到root用户,进入limits.d目录下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf 

修改如下内容:

* soft nproc 1024

#修改为

* soft nproc 2048
问题四:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

解决:切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf 

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

5.使用Maven构建扫描,参考 https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven

  在Maven配置文件中加入以下配置:

<settings>
    <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://myserver:9000
                </sonar.host.url>
            </properties>
        </profile>
     </profiles>
</settings>

  使用以下命令构建:

  mvn clean verify sonar:sonar

   扫描小项目,可以正常上传sonarqube管理界面,但是在扫描大项目时,出现一个超时错误,判断应该时sonarqube的webservice设置过短,尝试过各种方法,未解决

  官网提示是在UI界面setting中修改配置,但未找到sonar.ws.timeout配置,于是用postman模拟请求修改该配置项,还是未解决

 

 
posted @ 2019-03-08 16:10  离骚不骚  阅读(324)  评论(0编辑  收藏  举报