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
可用镜像列表
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
# 运行镜像
# 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
注意: 这里服务地址不支持localhost:9000 会提示 Incorrect URL or server is not available
只能使用本地局域网IP或者域名
点击 Generae Token后会打开网页登录页面登录后点击 Allow connection即可自动创建和填入 user token
最后点击 Save Connection即可
vscode绑定sonarqube项目
sonar-scanner 执行扫描命令
# 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:9000 是sonarqube的服务地址和端口