docker-compose安装sonarqube
vim /etc/sysctl.conf
vm.max_map_count=262144
vm.max_map_count参数含义
version: '3'
services:
postgres:
image: postgres:14.5
restart: always
container_name: postgres
ports:
- 5432:5432
volumes:
- /docker/sonar/postgres/postgresql:/var/lib/postgresql
- /docker/sonar/postgres/data:/var/lib/postgresql/data
- /etc/localtime:/etc/localtime:ro
environment:
TZ: Asia/Shanghai
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
POSTGRES_DB: sonar
sonar:
image: sonarqube:9.8.0-community
container_name: sonar
depends_on:
- postgres
volumes:
- /docker/sonar/sonarqube/extensions:/opt/sonarqube/extensions
- /docker/sonar/sonarqube/logs:/opt/sonarqube/logs
- /docker/sonar/sonarqube/data:/opt/sonarqube/data
- /docker/sonar/sonarqube/conf:/opt/sonarqube/conf
# 设置与宿主机时间同步 - /etc/localtime:/etc/localtime:ro
ports:
- 9000:9000
command:
# 内存设置 - -Dsonar.ce.javaOpts=-Xmx2048m
- -Dsonar.web.javaOpts=-Xmx2048m
# 设置服务代理路径 - -Dsonar.web.context=/
# 此设置用于集成gitlab时,回调地址设置 - -Dsonar.core.serverBaseURL=http://172.16.3.253:9000
environment:
TZ: Asia/Shanghai
SONARQUBE_JDBC_USERNAME: sonar
SONARQUBE_JDBC_PASSWORD: sonar
SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
sonar-scanner插件安装、扫描脚本
安装
下载,解压
https://binaries.sonarsource.com/?prefix=Distribution/sonar-scanner-cli/
ln -s /home/zxl/docker-compose-sonarqube/sonar-scanner-5.0.1.3006-linux/bin/sonar-scanner /usr/local/bin/sonar-scanner
扫描脚本
# java
sonar-scanner -Dsonar.projectKey=SpringBlade -Dsonar.host.url=http://172.16.3.253:9000 -Dsonar.login=admin -Dsonar.password=admin123 -Dsonar.sources=. -Dsonar.java.binaries=. -Dsonar.java.source=8 -Dsonar.sourceEncoding=UTF-8
# js
sonar-scanner -Dsonar.projectKey=Saber -Dsonar.projectName=Saber -Dsonar.projectVersion=1.0.0 -Dsonar.sources=src -Dsonar.exclusions=node_modules/**/* -Dsonar.host.url=http://172.16.3.253:9000 -Dsonar.login=admin -Dsonar.password=admin123 -Dsonar.sourceEncoding=UTF-8
也可以在项目目录下添加sonar-scanner配置文件(附上我的脱敏配置文件)
文件名: sonar-project.properties
sonar.projectKey=name // 自己的sonar服务器上注册的项目名称
sonar.projectName=name // 自己的sonar服务器上注册的项目名称
sonar.projectVersion=1.0
sonar.sources=src // 检查的代码范围
sonar.exclusions=node_modules/**/* // 忽略文件
sonar.host.url= localhost // 自己的sonar服务器地址包括端口名
sonar.login=username // 自己的sonar服务器用户名
sonar.password=password // 自己的sonar服务器密码
sonar.sourceEncoding=UTF-8