Docker部署sonar

× 文章目录
  1. 1. 0x00 前言
  2. 2. 0x01 安装
  3. 3. 0x02 使用

0x00 前言

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

0x01 安装

  1. 获取 postgresql 的镜像

    1
    $ docker pull postgres
  2. 启动 postgresql

    1
    $ docker run --name postgresql -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -v /opt/sonarqube/data/postgresql/data:/var/lib/postgresql/data -d postgres

其中 postgresql为容器名称 POSTGRES_USER POSTGRES_PASSWORD POSTGRE_DB指定postgresql的用户名密码和数据库名,/opt/sonarqube/data/postgresql/data为pg数据库文件挂载到宿主机路径

  1. 获取 sonarqube 的镜像

    1
    $ docker pull sonarqube
  2. 启动 sonarqube

    1
    $ docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9001:9000 -v /opt/sonarqube/data/sonarqube/data:/opt/sonarqube/data -v /opt/sonarqube/data/sonarqube/extensions/plugins:/opt/sonarqube/extensions/plugins -d sonarqube

其中–link postgresql 是指和 postgresql 容器连接通讯, 用网关的方式也可以

创建/opt/sonarqube/data/sonarqube/data作为sonarqube的数据文件,权限设置为777
创建/opt/sonarqube/data/sonarqube/extensions/plugins作为sonarqube的插件目录

0x02 使用

sonar使用中需要和CI工具进行配合使用进行自动化代码分析
与jenkins联动…

参考官方文档:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins