Skip to content

创建文件夹并赋予权限

shell
mkdir -p /home/sonar/postgres/postgresql
mkdir -p /home/sonar/postgres/data
mkdir -p /home/sonar/sonarqube
chmod 777 -R /home/sonar/sonarqube
echo "vm.max_map_count=262144" > /etc/sysctl.cnf
# 指定的文件加载系统参数
sysctl -p

创建docker-compose文件夹

文件的地址放在/home/sonar下,下面的文件除了volumns对应的文件路径以外不要轻做变更

yaml
version: '3'
services:
  postgres:
    image: postgres:latest
    container_name: postgres
    restart: always
    privileged: true
    networks:
      - sonar
    volumes:
      - /home/sonar/postgres/postgresql:/var/lib/postgresql
      - /home/sonar/postgres/data:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: sonar 
      POSTGRES_PASSWORD: sonar 
      TZ: Asia/Shanghai 

  sonar:
    image: sonarqube:8.9.10-community
    container_name: sonar
    restart: always
    privileged: true
    networks:
      - sonar
    volumes:
      - /home/sonar/sonarqube/logs:/opt/sonarqube/logs
      - /home/sonar/sonarqube/conf:/opt/sonarqube/conf
      - /home/sonar/sonarqube/data:/opt/sonarqube/data
      - /home/sonar/sonarqube/extensions:/opt/sonarqube/extensions
    ports:
      - "9090:9000"
    links:
      - "postgres:postgres"  
    environment:
      SONARQUBE_JDBC_USERNAME: sonar
      SONARQUBE_JDBC_PASSWORD: sonar
      SONARQUBE_JDBC_URL: "jdbc:postgresql://postgres:5432/sonar" 

networks:
  sonar:
    driver: bridge

启动项目

shell
docker-compose up -d
# 默认用户与密码是 admin/admin
# 修改的密码是Xianyu666

SonarQube的使用

安装中文插件

在这里找到对应sonarqube版本的中文包:地址

shell
# 文件的安装路径根据创建docker-compose时候的路径确定
cd /home/sonar/sonarqube/extensions/downloads

使用

使用SonarQube分析是非常简单的。只需要在你的项目目录下执行如下命令。

sonar-scanner \
  -Dsonar.projectKey=deploy-system \
  -Dsonar.sources=. \
  -Dsonar.host.url=http://59.36.169.39:9090 \
  -Dsonar.login=86523f0bbb7c6a1dc278f072d8161c581991a186