Sonarqube安装部署并扫描Maven项目

安装SonarQube

SonarQube包含的主要组件为
   1. 数据库(支持MS SQL Server,Oracle,PostgreSQL,MySQL,规模较大时,官方不建议使用MySQL,而且MySQL很快就不支持了)

   2. ElasticSearch

   3. Web前端(Java应用)

 

安装步骤:

  1. 系统设置

#vi /etc/sysctl.conf

vm.max_map_count=262144

fs.file-max=65536

#vi /etc/security/limits.conf

sonarqube   -   nofile   65536

sonarqube   -   nproc    2048

# sysctl -p

#查看设置是否生效

sysctl vm.max_map_count

sysctl fs.file-max

ulimit -n

ulimit -u

2.建立系统用户

#user add sonarqube

#passwd sonarqube

3.检查seccomp是否开启,ElasticSearch需要使用这个,期望输出如下。如果没有开启,需要在配置文件$SONARQUBEHOME/conf/sonar.properties_ 中添加: sonar.search.javaAdditionalOpts=-Dbootstrap.system_call_filter=false

 

#grep SECCOMP /boot/config-$(uname -r)

CONFIG_HAVE_ARCH_SECCOMP_FILTER=y

CONFIG_SECCOMP_FILTER=y

CONFIG_SECCOMP=y

4.数据库搭建,由于公司规模小且有现成的Mysql数据库,故使用Mysql作为数据库。

5.修改数据库上传大小限制,这一步很重要,数据库默认的值为4M,如果不修改会出现扫描报告上传失败的错误。

#vi my.cnf

max_allowed_packet = 256M

6.数据盘挂载,官方建议为ES配置独立的SSD数据盘,以提高查询速度。

#fdisk /dev/sdb

#mkfs.ext4 /dev/sdb1

#mkdir /var/sonarqube

#vi /etc/fstab

/dev/sdb1 /var/sonarqube ext4 defaults 0 0

#mount -a

#chown -R sonarqube:sonarqube /var/sonarqube

 

7.创建数据库和数据库用户

mysql> create database sonarqube default character set utf8mb4 collate utf8mb4_unicode_ci;

Query OK, 1 row affected (0.02 sec)

 

mysql> create user sonarqube identified by 'sonarqube@niubi';

Query OK, 0 rows affected (0.02 sec)

 

mysql> grant all privileges on sonarqube.* to sonarqube;

Query OK, 0 rows affected (0.00 sec)

 

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

mysql>

8.下载sonarqube

#mkdir /opt/sonarqube

#cd  /opt/sonarqube && wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.5.zip

#unzip sonarqube-7.5.zip && chown -R sonarqube:sonarqube /opt/sonarqube/

#配置sonarqube, /opt/sonarqube/sonarqube-7.5/conf/sonar.properties

[root@localhost conf]# grep -v \# sonar.properties|sed "/^$/d"  

sonar.jdbc.username=sonarqube

sonar.jdbc.password=sonarqube@niubi

sonar.jdbc.url=jdbc:mysql://192.168.1.212:13306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

sonar.web.javaOpts=-server -Xmx512m -Xms512m -XX:+HeapDumpOnOutOfMemoryError

sonar.web.host=0.0.0.0

sonar.web.port=80

sonar.ce.javaOpts=-Xmx512m -Xms512m -XX:+HeapDumpOnOutOfMemoryError

sonar.search.javaOpts=-Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError

sonar.path.data=/var/sonarqube/data

sonar.path.temp=/var/sonarqube/tmp

9.下载并安装jdk

#cd /opt/ && wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz

#tar -zxvf

#vi /etc/profile

export JAVA_HOME=/opt/jdk1.8.0_191

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH:$JAVA_HOME/jre/bin

#source /etc/profile

10.添加sonarqube服务

#vi /etc/systemd/system/sonarqube.service

[Unit]

Description=SonarQube service

After=syslog.target network.target

 

[Service]

Type=simple

User=sonarqube

Group=sonarqube

PermissionsStartOnly=true

ExecStart=/usr/bin/nohup /opt/jdk1.8.0_191/bin/java -Xms512m -Xmx512m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/sonarqube-7.5/lib/sonar-application-7.5.jar

StandardOutput=syslog

LimitNOFILE=65536

LimitNPROC=8192

TimeoutStartSec=5

Restart=always

 

[Install]

WantedBy=multi-user.target

11.启动sonarqube

#systemctl enable sonarqube

#systemctl start sonarqube

 

使用sonar-scanner扫描Maven项目

1.下载apache-maven-3.5.3-bin.tar.gz 并解压

#tar -zxvf apache-maven-3.5.3-bin.tar.gz

2.配置Maven 仓库地址,根据项目实际的设置,将下面的配置整合到setting文件中

#vi /opt/ apache-maven-3.5.3/conf/settings.xml

<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://192.168.1.125:9000

                </sonar.host.url>

            </properties>

        </profile>

     </profiles>

</settings>

3.克隆项目代码并分析代码

#git clone http://172.18.56.11/oaodz.git

#cd oaodz

# mvn clean install

# mvn sonar:sonar

NOTES: a.多模块的项目必须要使用install,然后扫描。 b.可以通过如下命令指定sonar-scanner的版本

mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.5.0.1254:sonar

4.查看报告

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值