文章目录

  • ⛺sonarQube 镜像容器
  • ⛺Linux 安装镜像
  • 🍁出现 Permission denied的异常
  • 🍁安装sonarQube 中文包
  • 🍁重启服务
  • ⛺代码上传到sonarQube扫描
  • 🍁java语言配置
  • 🍁配置 JS TS Php Go Python
  • 🍁出现异常`sonar-scanner.bat: command not found`
  • 🍁错误分析


⛺sonarQube 镜像容器


  • 老样子第一步还是打开镜像容器官网https://hub.docker.com
  • 搜索sonarqube
  • 官方推荐的挂载目录 我就按照官网的建议来配置启动命令

⛺Linux 安装镜像


# 我拉去的是最新 sonarqube:9.9.1-community
docker pull sonarqube:9.9.1-community
# 先创建需要挂载的目录
# 数据目录
mkdir -p /opt/sonarqube/data
# 日志目录
mkdir -p /opt/sonarqube/logs
# 插件目录
mkdir -p /opt/sonarqube/extensions
# 启动命令
docker run \
--name=sonarqube \
-p 50001:9000 \
--stop-timeout 3600 \
-v /opt/sonarqube/data:/opt/sonarqube/data \
-v /opt/sonarqube/logs:/opt/sonarqube/logs \
-v /opt/sonarqube/extensions:/opt/sonarqube/extensions \
-d sonarqube:9.9.1-community
# 可以使用 查看是否启动成功
docker ps

安装【sonar】【sonarQube】免费社区版9.9_上传

🍁出现 Permission denied的异常


安装【sonar】【sonarQube】免费社区版9.9_linux_02

chmod 777 /opt/sonarqube/data
# 日志目录
chmod 777 /opt/sonarqube/logs
# 插件目录
chmod 777 /opt/sonarqube/extensions
  • 命令解读:
  • docker run :创建并运行一个容器
  • –name : 给容器起一个名字,比如叫做sonarqube
  • -stop-timeout 3600SonarQube 实例将正常停止,等待任何正在进行的任务完成。等待正在进行的任务完成可能会花费大量时间,而 Docker 在停止时默认情况下不会预期这一时间。为了避免 SonarQube 实例在 10 秒后被 Docker 守护进程杀死,最好配置一个超时来停止容器–stop-timeout。
  • -v :绑定数据卷
  • -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
  • -d:后台运行容器
    -sonarqube:镜像名称,例如sonarqube 后面跟是版本号 你可以使用 docker images命令查看
  • 默认情况下,容器是隔离环境,我们直接访问宿主机的9000 端口,肯定访问不到容器中的sonarqube 。
  • 现在,将容器的50001与宿主机的9000 关联起来,当我们访问宿主机的50001端口时,就会被映射到容器的9000 ,这样就能访问到sonarqube 了

🍁安装sonarQube 中文包


这里一定要注意给问价夹和文件授权,让启动的时候无妨访问 我这里图省事都是权限开到最大

chmod 777 plugins
chmod 777 sonar-l10n-zh-plugin-10.1.jar

🍁重启服务


docker restart sonarqube
  • 重启服务再去访问,这里可以看到已经全部变成中文了,目前这个中文包最高支持sonarQube10.1
  • 安装【sonar】【sonarQube】免费社区版9.9_上传_06


  • 安装【sonar】【sonarQube】免费社区版9.9_docker_07


⛺代码上传到sonarQube扫描


🍁java语言配置


  • 先去创建一个全局令牌

  • 创建一个代码扫描的项目
  • 填写项目名称
  • 填写我们刚才生成令牌
  • 复制到项目里面执行就可以了

🍁配置 JS TS Php Go Python


  • 前面的步骤是一样的
  • 配置一下环境变量
🍁出现异常sonar-scanner.bat: command not found

安装【sonar】【sonarQube】免费社区版9.9_上传_08

🍁错误分析

  • 我们来看下它的执行文件里面写了啥
  • 可以看到它都SONAR_SCANNER_HOME下面jre,那就简单了么,配置一个 SONAR_SCANNER_HOME 就可以了


    把path变量里面改成 %SONAR_SCANNER_HOME%\bin 就可以了
  • 最后到你的项目目录下执行