sonar 容器化部署
一、sonar安装步骤
(部署硬件要求2G以上内存)
1. 准备镜像
docker pull postgres
docker pull sonarqube
2. 编写脚本
1.start-postgresql.sh
#!/bin/bash
docker stop postgresql
docker rm postgresql
docker run -d --name postgresql -p 5432:5432 \
-e POSTGRES_USER=sonar \
-e POSTGRES_PASSWORD=sonar \
-e POSTGRE_DB=sonar \
-v /opt/postgresql/data:/var/lib/postgresql/data \
postgres:10.4
2.start-sonar.sh
#!/bin/bash
docker stop sonarqube
docker rm sonarqube
docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9000:9000 -d -v /root/xej-sonar/data/sonarqube/data:/opt/ \
sonarqube/data -v /opt/sonarqube/extensions:/opt/sonarqube/extensions sonarqube:community
3.在宿主机上,创建数据存储目录(可以替换成自己的目录)
mkdir -p /opt/postgresql/data
mkdir -p /opt/sonarqube/data
mkdir -p /opt/sonarqube/extensions
4.启动postgresql
./start-postgresql.sh
5.启动sonar(默认会启动elasticsearch,elasticsearch不允许root启动,所以这里要添加一个普通用户)
1.创建用户
useradd sonar
passwd sonar
2.用户授权
chown -R sonar:sonar /var/run/docker.sock
3.启动 sonar
su sonar
./start-sonar.sh
6.访问http://ip:9000/访问sonar
安装Sonar-Scanner插件
下载linux版本,链接为:
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip
解压
unzip sonar-scanner-cli-4.2.0.1873-linux.zip
配置环境变量,修改文件 /etc/profile
export SONAR_SCANNER_HOME=/opt/software/sonar-scanner-4.2.0.1873-linux
export PATH=$SONAR_SCANNER_HOME/bin:$PATH
验证安装:
# sonar-scanner -v
INFO: Scanner configuration file: /data/sonar-scanner-4.2.0.1873-linux/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 4.2.0.1873
INFO: Java 11.0.3 AdoptOpenJDK (64-bit)
INFO: Linux 2.6.32-696.10.1.el6.x86_64 amd64
二、项目分析
1.在项目目录下,新建 sonar-project.properties
文件,添加以下内容
#key,唯一标识,直接用项目名即可
sonar.projectKey=项目名
sonar.projectName=项目名
sonar.projectVersion=1.0
#要扫描的代码路径,sonar-project.properties文件的相对路径。【配成.或src】
sonar.sources=.
sonar.sourceEncoding=UTF-8
sonar.language=java
sonar.java.binaries=项目路径/target/classes
2.执行分析
sonar-scanner
3.查看报告结果 http://IP:9000/