文章目录
- sonarQube 镜像容器
- Linux 安装镜像
- 出现 Permission denied的异常
- 安装sonarQube 中文包
- 重启服务
- 代码上传到sonarQube扫描
- 配置 JS TS Php Go Python
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
然后将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扫描
- 先去创建一个全局令牌
- 创建一个代码扫描的项目
- 填写项目名称
- 填写我们刚才生成令牌
- 复制到项目里面执行就可以了
配置 JS TS Php Go Python
- 前面的步骤是一样的
- 配置一下环境变量
- 我以为这样就成功了,没有想到这样配置不行
sonar-scanner.bat: command not found