背景
我是在ubuntu服务器安装docker服务,我已经安装好了docker和docker-compose服务,这里我就不写这些服务的安装过程,直接开始安装sonarqube服务
安装 sonarqube服务器
1.执行脚本文件 config.sh
1
2
3
4
5
6
7
8
|
#!/bin/bash
sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -n 65536
ulimit -u 4096
# # 永久改变
# echo "vm.max_map_count=262144" >> /etc/sysctl.conf
# sysctl -p
|
2.执行docker-compose文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
version: '3'
services:
postgres:
image: postgres:15
container_name: postgres
ports:
- 5432:5432
volumes:
- ./sonar/postgres/postgresql:/var/lib/postgresql
- ./sonar/postgres/data:/var/lib/postgresql/data
environment:
TZ: Asia/Shanghai
POSTGRES_USER: user #数据库用户
POSTGRES_PASSWORD: password #数据库密码
POSTGRES_DB: sonar
sonarqube:
depends_on:
- postgres
image: sonarqube:9.9.0-community
container_name: sonarqube
ports:
- 9000:9000
volumes:
- ./sonar/sonarqube/extensions:/opt/sonarqube/extensions
- ./sonar/sonarqube/logs:/opt/sonarqube/logs
- ./sonar/sonarqube/data:/opt/sonarqube/data
- ./sonar/sonarqube/conf:/opt/sonarqube/conf
environment:
SONARQUBE_JDBC_USERNAME: user #数据库用户
SONARQUBE_JDBC_PASSWORD: password #数据库密码
SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
|
3. 生成用户令牌
安装 sonar scanner扫描器
1
2
3
|
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip
unzip sonar-scanner-cli-5.0.1.3006-linux.zip
mv sonar-scanner-cli-5.0.1.3006-linux.zip /opt/
|
连接sonarqube服务器
1
2
|
cd /opt/sonar-scanner-5.0.1.3006-linux/conf/
vim sonar-scanner.properties
|
修改配置文件
1
2
3
4
5
6
7
|
#No information about specific project should appear here
#----- 修改服务器地址
sonar.host.url=http://sonar-server:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
|
安装scanner
1
2
3
|
cd sonar-scanner-5.0.1.3006-linux/
sudo ln -s /opt/sonar-scanner-5.0.1.3006-linux/bin/sonar-scanner /usr/local/bin/sonar-scanner
sonar-scanner -v
|
执行扫描
1
2
|
cd /code/github/project/path
sonar-scanner -D sonar.login=<sonar-key> -Dsonar.projectKey=<my-project> -Dsonar.projectName=<my-project-name> -Dsonar.projectVersion=1.0 -Dsonar.sourceEncoding=UTF-8 -Dsonar.java.binaries=target/classes -Dsonar.java.libraries=target/*.jar
|
在sonarsever上查看