SonarQube 容器化部署

本文记录怎么使用docker安装SonarQube和使用SonarQube检测自己的代码。

简介

SonarQube是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量.可以通过插件形式,支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测。

部署

其实很简单啦 🌹🐔 机器配置得高点2GB起,推荐4GB

docker run

# 启动postgres
docker run -itd --name postgresql --net=host -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar postgres:10.4
# 启动 sonarqube
docker run -itd --net=host--name sonarqube -e SONARQUBE_JDBC_URL=jdbc:postgresql://127.0.0.1:5432/sonar  sonarqube:7.1
# 持久化参见 docker-compose方式

docker-compose

version: '2.1'
services:
  postgres:
    image: postgres:10.4
    container_name: postgres
    environment:
      - POSTGRES_USER=sonar 
      - POSTGRES_PASSWORD=sonar 
      - POSTGRE_DB=sonar
    volumes:
      - /data/postgresql:/var/lib/postgresql/data
    network_mode: host
    restart: always
  sonarqube:
    image: sonarqube:7.1
    container_name: sonarqube
    environment:
      - SONARQUBE_JDBC_URL=jdbc:postgresql://127.0.0.1:5432/sonar
    volumes:
      - /data/sonarqube/conf:/opt/sonarqube/conf
      - /data/sonarqube/data:/opt/sonarqube/data
      - /data/sonarqube/extensions:/opt/sonarqube/extensions
      - /data/sonarqube/bundled-plugins:/opt/sonarqube/lib/bundled-plugins
    network_mode: host
    restart: always

使用

部署完成后访问 127.0.0.1:9000

用户名 admin 密码 admin

登录过后按需安装一下插件.

推荐一些插件

  • CVS
  • Chinese Pack
  • Findbugs
  • Git
  • SVN
  • GitHub
  • GitHub Authentication for SonarQube
  • Gitlab
  • GitLab Auth
  • SVG Badges
  • SonarCSS
  • SonarJS
  • SonarJava
# Token 即 http://127.0.0.1:9000/account/security/ 处生成.
mvn clean install sonar:sonar -Dsonar.host.url=http://127.0.0.1:9000 -Dsonar.login=e5ecbb3bd36be830db2fa3a469e141c5c11ad6a2

示例参考 Goodrain-apps/findbugs