Sonarqube alpine docker镜像使用 vscode 集成项目绑定使用指南

Alpine 版本 3.17 JDK版本 17.0.9_3.17 / 11.0.17 / 8u265

Sonarqube版本 9.9 LTS 10.3 , 9.8 , 9.7, 8.9, 7.9, 6.7, 5.6

9.9以上版本需要 JDK17 9.8版本支持jdk11或者jdk17 7.x--9.7 jdk11

可用镜像列表

代码语言:javascript
复制
tekintian/sonarqube:10.3.0.82913_17.0
tekintian/sonarqube:9.9.3.79811_17.0
tekintian/sonarqube:9.8.0.63668_17.0
tekintian/sonarqube:9.8.0.63668_11.0
tekintian/sonarqube:9.7.1.62043_17.0
tekintian/sonarqube:9.7.1.62043_11.0
tekintian/sonarqube:8.9.10.61524_11.0
tekintian/sonarqube:8.9.10.61524_17.0
tekintian/sonarqube:7.9.6_11.0

#引用的JDK版本
tekintian/alpine-jre:11.0.21_3.17_jar
tekintian/alpine-jre:17.0.9_3.17_jar

sonarqube5 6使用的jdk版本

tekintian/alpine-jre:8u265-1-tse

tekintian/sonarqube:5.6.7
tekintian/sonarqube:6.7.7
tekintian/sonarqube:5.6
tekintian/sonarqube:6.5

代码语言:javascript
复制
# 运行镜像

conf/sonar.properties 这个配置文件中的所有配置项目,可以通过在环境变量中使用 CONF_配置KEY大写 的形式进行动态加载

如: 配置项 sonar.jdbc.username=sonarqube 可以通过设置 CONF_SONAR_JDBC_USERNAME="sonarqube" 环境变量来修改

docker run -itd --name mysonarqube
-p 9000:9000
-e CONF_SONAR_JDBC_USERNAME="sonarqube"
-e CONF_SONAR_JDBC_PASSWORD="sonarqube888"
-e CONF_SONAR_JDBC_URL="jdbc:postgresql://192.168.2.8/sonarqube?currentSchema=public"
-v /Users/Tekin/src:/src
tekintian/sonarqube:9.9.3.79811

默认登录地址: http://localhost:9000/ 账户: admin/admin

vscode 集成

安装插件 SonarLint

https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarlint-vscode

Sonarqube CONNECTED MODE 链接配置

vscode菜单栏 查看 -->打开视图.. --> SonarLint --> Connected Mode

VSCODE绑定sonarqube服务端和项目绑定

注意: 这里服务地址不支持localhost:9000 会提示 Incorrect URL or server is not available

只能使用本地局域网IP或者域名

点击 Generae Token后会打开网页登录页面登录后点击 Allow connection即可自动创建和填入 user token

最后点击 Save Connection即可

vscode绑定sonarqube项目

sonar-scanner 执行扫描命令

代码语言:javascript
复制
# mysonarqube 是你自己创建的容器名称 sonar-scanner 是容器中的扫描命令 后面是扫描参数

docker exec -it mysonarqube sonar-scanner
-Dsonar.projectKey=myapp
-Dsonar.sources=/usr/src/myapp
-Dsonar.host.url=http://localhost:9000
-Dsonar.token=sqp_a3257b5a7747796bf4b9bfa91d1578d5dec864c4

tpos 是项目名称

/src/myapp 这里表示的是你的源码的绝对路径, 需要再创建容器的时候通过 -v 加载到容器,否则这里访问不了. 在创建项目的时候就可以使用localy本地模式, 如果使用其他CI就不需要

sqp_a3257b5a7747796bf4b9bfa91d1578d5dec864c4 这个是你要扫描的项目的token

http://192.168.2.8 是sonarqube的服务地址和端口