文章目录
- ⛺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
🍁出现 Permission denied的异常
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 中文包
- 汉化包下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh
- 下载不了的可以用这个地址下载
https://www.aliyundrive.com/s/d9bsRAKFGNF
提取码: 4b2o
然后将sonar-l10n-zh-plugin-10.1.jar 上传到/opt/sonarqube/extensions/plugins 目录下。重启后,中文插件就可以生效了。没有下载过插件的小伙,自己要创建一个目录mkdir plugins
这里一定要注意给问价夹和文件授权,让启动的时候无妨访问 我这里图省事都是权限开到最大
chmod 777 plugins
chmod 777 sonar-l10n-zh-plugin-10.1.jar
🍁重启服务
docker restart sonarqube
- 重启服务再去访问,这里可以看到已经全部变成中文了,目前这个中文包最高支持
sonarQube10.1
⛺代码上传到sonarQube扫描
🍁java语言配置
- 先去创建一个全局令牌
- 创建一个代码扫描的项目
- 填写项目名称
- 填写我们刚才生成令牌
- 复制到项目里面执行就可以了
🍁配置 JS TS Php Go Python
- 前面的步骤是一样的
- 配置一下环境变量
⛏️出现异常
sonar-scanner.bat: command not found
⛏️错误分析
- 我们来看下它的执行文件里面写了啥
- 可以看到它都
SONAR_SCANNER_HOME
下面jre,那就简单了么,配置一个SONAR_SCANNER_HOME
就可以了
把path变量里面改成%SONAR_SCANNER_HOME%\bin
就可以了
- 最后到你的项目目录下执行