docker-compose部署SonarQube

4,521 阅读1分钟

一、SonarQube使用介绍

SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。

二、部署SonarQube

跳过docker 安装

2.1、sysctl设置

  • Linux

echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p
  • Mac

    启动命令行执行
    screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
    
    回车然后确认输入配置
    sysctl -w vm.max_map_count=262144
    
  • Windows and macOS with Docker Desktop

    通过docker-machine进行设置
    docker-machine ssh
    sudo sysctl -w vm.max_map_count=262144
    
  • Windows with  Docker Desktop WSL 2 backend

    wsl -d docker-desktop
    sysctl -w vm.max_map_count=262144
    

2.2、docker-compose安装

curl -L \
"[<https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$>](<https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$>)(uname -s)-$(uname -m)" -o \
/usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

2.3、拉取镜像[可跳过]

docker pull sonarqube:8.2-community
docker pull postgres:12

2.4、创建目录

mkdir -p /opt/sonarqube/{conf,data,logs,extensions}
mkdir -p /opt/postgres/{postgresql,data}
chmod -R 777 /opt/sonarqube

2.5、docker-compose.yml

version: '3'
services:
  postgres:
    image: postgres:12
    restart: always
    container_name: postgres
    ports:
      - 5432:5432
    volumes:
      - /opt/postgres/postgresql/:/var/lib/postgresql
      - /opt/postgres/data/:/var/lib/postgresql/data
    environment:
      TZ: Asia/Shanghai
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar123
      POSTGRES_DB: sonar
    networks:
      - sonar-network
  sonar:
    image: sonarqube:8.2-community
    restart: always
    container_name: sonar
    depends_on:
      - postgres
    volumes:
      - /opt/sonarqube/extensions:/opt/sonarqube/extensions
      - /opt/sonarqube/logs:/opt/sonarqube/logs
      - /opt/sonarqube/data:/opt/sonarqube/data
      - /opt/sonarqube/conf:/opt/sonarqube/conf
    ports:
      - 9000:9000
    environment:
      SONARQUBE_JDBC_USERNAME: sonar
      SONARQUBE_JDBC_PASSWORD: sonar123
      SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
    networks:
      - sonar-network
networks:
  sonar-network:
    driver: bridge

2.6、docker-compose 启动

docker-compose up -d
docker-compose -f sonar-docker-compose.yml up -d

2.7、访问地址: http://127.0.0.1:9000/

image.png

默认账号:admin 密码:admin