sonarqube是一款代码质量检查工具,使用sonar扫描我们写过的代码,可以有助于检查出代码的bug、规范性和健壮性,有助于提高我们的代码质量。

一、安装docker

安装完成之后,命令行输入 

docker -v 

出现版本号即为安装完成。

使用docker搭建sonarqube-LMLPHP

。。。。。。。。

二、安装sonar镜像 

1、在命令行输入 
docker -search sonar

会看到有很多的sonar版本:

使用docker搭建sonarqube-LMLPHP

2、我们直接使用命令,docker pull sonar  默认下载最新版本的sonarqube
docker pull sonar

下载完成后 执行docker images 查看已经下载的镜像文件。已经有了sonarqube。

使用docker搭建sonarqube-LMLPHP

3、运行sonar 

命令行输入

docker run -p9000:9000 sonarqube

  sonar默认端口为9000,将docker内镜像的端口9000映射到主机端口9000,这时候我们打开浏览器输入网址 localhost:9000,就可以进入docker的页面了。默认登录的账号和密码都是admin,到这一步我们的sonar安装运行就完成了。

使用docker搭建sonarqube-LMLPHP

 4、持久化sonar

如果需要持久化我们的sonar扫描数据,可以使用以下命令启动sonar,jdbc信息为mysql的连接、用户名和密码。sonar会将扫描信息持久化到mysql中。

docker run --restart=always -d --name sonarqube -p9000:9000 -e sonar.jdbc.username=root -e sonar.jdbc.password=1443267814 -e sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/demo?Unicode=true sonarqube

  

三、使用sonar扫描代码

登录进入sonar页面后,点击创建一个项目

使用docker搭建sonarqube-LMLPHP

 点击 manually(手动的),这里也可以选择github,在项目中使用git关联sonar可以更方便的扫描代码分支。

使用docker搭建sonarqube-LMLPHP

然后随便输入一个project名称,这里建议与项目名称相同。

使用docker搭建sonarqube-LMLPHP

随便输入一个什么(建议与项目名称相同),生成一个token。生成后点击continue,继续。

使用docker搭建sonarqube-LMLPHP

 根据我们的项目选址maven或者gradle,或者其他。sonar会在下方自动给出扫描代码的命令。然后打开我们的idea,在下方命令行执行。这里有一个坑点,由于sonar会去target目录下扫描我们的class文件,所以要先将项目打包

mvn -package

然后再去扫描,扫描完成之后回到localhost:9000,就可以看到我们代码中的质量问题了。

使用docker搭建sonarqube-LMLPHP

注:最新版本(5.7以上)sonarqube已经不支持mysql,建议使用其他数据库或使用5.2版本

docker pull sonar:5.2
03-30 22:49