拉取postgres
和sonarqube
的镜像文件
docker pull postgres:latest
docker pull sonarqube:8.4-community
如果是在无网的主机上安装,可以在联网的主机上拉取镜像后进行导出,然后在无网的主机上进行导入操作。
# 联网主机上导出镜像的压缩包
docker save -o postgres-docker.tar.gz postgres:latest
docker save -o sonarqube-8.4-community-docker.tar.gz sonarqube:8.4-community
# 无网主机上导入镜像的压缩包
docker load -i postgres-docker.tar.gz
docker load -i sonarqube-8.4-community-docker.tar.gz
mkdir -p /opt/soft/docker/postgresql && \
mkdir /opt/soft/docker/postgresql/data && \
mkdir /opt/soft/docker/postgresql/postgresql && \
mkdir -p /opt/soft/docker/sonarqube && \
mkdir /opt/soft/docker/sonarqube/data && \
mkdir /opt/soft/docker/sonarqube/extensions && \
mkdir /opt/soft/docker/sonarqube/logs && \
mkdir /opt/soft/docker/sonarqube/lib
启动命令如下:
docker run -d --name postgres \
-e POSTGRES_USER=sonar \
-e POSTGRES_PASSWORD=sonar \
-e POSTGRES_DB=sonar \
-p 5432:5432 \
-v /opt/soft/docker/postgresql/postgresql:/var/lib/postgresql \
-v /opt/soft/docker/postgresql/data:/var/lib/postgresql/data \
--privileged=true \
postgres:latest
由于多分支管理插件sonarqube-community-branch-plugin
的jar
包需要在启动时进行路径映射,所以需要先去下载该插件。
github网站下载多分支管理插件sonarqube-community-branch-plugin,选择合适的版本下载,我们选择适用于sonarqube8.4的版本sonarqube-community-branch-plugin-1.5.0.jar
。
下载完成的jar包放到sonarqube容器映射的本地目录/opt/soft/docker/sonarqube/lib/
下。
使用方式:在扫描时,增加如下参数:
-Dsonar.branch.name=${GIT_BRANCH}
启动命令如下:
docker run -d --name sonarqube \
--link postgres \
-e SONARQUBE_JDBC_USERNAME=sonar \
-e SONARQUBE_JDBC_PASSWORD=sonar \
-e SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar \
-p 9000:9000 \
-v /opt/soft/docker/sonarqube/data:/opt/sonarqube/data \
-v /opt/soft/docker/sonarqube/extensions:/opt/sonarqube/extensions \
-v /opt/soft/docker/sonarqube/logs:/opt/sonarqube/logs \
-v /opt/soft/docker/sonarqube/lib/sonarqube-community-branch-plugin-1.5.0.jar:/opt/sonarqube/lib/common/sonarqube-community-branch-plugin.jar \
-v /opt/soft/docker/sonarqube/lib/sonarqube-community-branch-plugin-1.5.0.jar:/opt/sonarqube/extensions/plugins/sonarqube-community-branch-plugin.jar \
sonarqube:8.4-community
github网站下载汉化插件sonar-l10n-zh,选择合适的版本下载,我们选择适用于sonarqube8.4的版本sonar-l10n-zh-plugin-8.4.jar
。
下载完成的jar包放到sonarqube容器映射的本地目录/opt/soft/docker/sonarqube/extensions/downloads
下,重启容器生效。
SonarQube8.0到8.4缺省的
质量配置(Quality Profiles)
没有配置任何语言,需要使用者自行安装,否则会提示出错。我们是java语言开发,所以安装sonar-java
插件。
github网站下载java规范插件sonar-java,选择合适的版本下载,我们选择适用于sonarqube8.4的版本6.8.0.23379
。
本次下载的是源码包,需要使用maven命令打包生成需要的插件的jar包,,然后放到sonarqube容器映射的本地目录/opt/soft/docker/sonarqube/extensions/downloads
下,重启容器生效。
阿里p3c插件暂时不兼容该版本,本节内容废弃
github网站下载阿里p3c规范插件sonar-pmd,选择合适的版本下载,我们选择sonar-pmd-plugin-3.2.1.jar
。
下载完成的jar包放到sonarqube容器映射的本地目录/opt/soft/docker/sonarqube/extensions/downloads
下,重启容器生效。
UI界面的地址和账号信息如下:
URL: http://localhost:9000
用户名/密码: admin/admin
阿里p3c插件暂时不兼容该版本,本节内容废弃
进入管理页面后,选择质量配置
选项卡,在搜索配置
下拉列表中选择java
,可以看到ali-p3c
条目,点击设置下列列表中的激活更多规则
选项,跳转到代码规则
页面,点击批量修改
下拉列表中的激活ali-p3c
按钮,完成阿里p3c规则激活。
项目
选项卡,选择创建新项目
项目标识
和显示名
f6e0b747d91c8845b376cb97e11d3a8a0f58ae89
检查提交有两种方式,一种是使用maven进行提交,一种是使用sonar-scanner进行提交。
使用maven分析你的项目
mvn sonar:sonar \
-Dsonar.projectKey=demo \
-Dsonar.host.url=http://127.0.0.1:9000 \
-Dsonar.login=f6e0b747d91c8845b376cb97e11d3a8a0f58ae89 \
-Dsonar.branch.name=master
-Dsonar.projectKey
指定项目名称-Dsonar.host.url
指定管理端地址-Dsonar.login
指定管理界面的令牌-Dsonar.branch.name
指定分支名称 sonar-scanner -Dsonar.host.url=http://localhost:9000 \
-Dsonar.projectKey=demo \
-Dsonar.java.binaries=. \
-Dsonar.java.source=8 \
-Dsonar.branch.name=master \
-X
在管理端页面项目选项卡,选择已分析的项目查看结果。
SonarLint 是 SonarQube的单机版,可以作为Idea的插件进行代码规范检查,也可以连接到SonarQube中生成统计报告。
IntelliJ IDEA
打开 Settings >> Plugins >> Browse repositories...
SonarLint
,点击Install进行安装,然后重启IDE生效(因为插件zip包托管在Jetbrains官方CDN上,所以是从国外的服务器进行下载,可能会出现超时的情况)IntelliJ IDEA
打开Settings >> Plugins >> Install plugin from disk...
,选择刚刚下载的zip包安装,然后重启IDE右键单击项目(或文件),找到SonarLint
并点击Analyze with SonarLint
进行分析,查看分析结果。
IntelliJ IDEA
打开 Settings >> Plugins >> Browse repositories...
alibaba
即可看到Alibaba Java Code Guidelines
插件,点击Install进行安装,然后重启IDE生效(因为插件zip包托管在Jetbrains官方CDN上,所以是从国外的服务器进行下载,可能会出现超时的情况)IntelliJ IDEA
打开Settings >> Plugins >> Install plugin from disk...
,选择刚刚下载的zip包安装,然后重启IDE右键单击项目(或文件),点击编码规约扫描
进行分析,查看分析结果。