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