0x00 前言
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量。通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测。
0x01 安装
获取 postgresql 的镜像
1
$ docker pull postgres
启动 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数据库文件挂载到宿主机路径
获取 sonarqube 的镜像
1
$ docker pull sonarqube
启动 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