Docker部署sonarqube代码质量检查
Posted mercury-linux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker部署sonarqube代码质量检查相关的知识,希望对你有一定的参考价值。
地址规划:
公网ip地址 | 服务 | |
lb01 | 10.0.0.5 | sonarqube、docker、Jenkins |
web01 | 10.0.0.7 | tomcat |
web02 | 10.0.0.8 |
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum install docker -y systemctl start docker systemctl enable docker
docker load -i docker_sonarqube_7.tar.gz docker load -i docker-mysql-5.7.tar.gz
#启动数据库
docker run --name mysql-sonar -e MYSQL_ROOT_PASSWORD=mysql -e MYSQL_DATABASE=sonar -e MYSQL_USER=sonar -e MYSQL_PASSWORD=sonar -v /data/mysql:/var/lib/mysql -p 33066:3306 -d mysql:5.7
#启动sonarqube docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 --link=mysql-sonar:mysql -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL="jdbc:mysql://mysql:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" sonarqube:7.0 #查看端口 netstat -lntup tcp6 0 0 :::9000 :::* LISTEN 36254/docker-proxy- tcp6 0 0 :::33066 :::* LISTEN 36114/docker-proxy-
保存token:
注:下面操作很重要,后期会使用
7b4efa14d62b35ddf8906cb2a2f01699ba887732
检查maven:
mvn sonar:sonar -Dsonar.host.url=http://10.0.0.5:9000 -Dsonar.login=7b4efa14d62b35ddf8906cb2a2f01699ba887732
检查html:
sonar-scanner -Dsonar.projectKey=html -Dsonar.sources=. -Dsonar.host.url=http://10.0.0.5:9000 -Dsonar.login=7b4efa14d62b35ddf8906cb2a2f01699ba887732
方式二:下载插件安装
兼容表查看:
地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh
旧版本下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/latest
注:这里下载的是1.20版本,版本不兼容服务会起不来
#下载jar https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.20/sonar-l10n-zh-plugin-1.20.jar #jar包放入docker目录 docker cp sonar-l10n-zh-plugin-1.20.jar sonarqube:/opt/sonarqube/extensions/plugins/ docker restart sonarqube #查看启动情况 docker logs -f sonarqube #重新登录网页查看
yum localinstall jdk-8u241-linux-x64.rpm -y java -version
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.3.0.2102.zip unzip sonar-scanner-cli-4.3.0.2102.zip mv sonar-scanner-4.3.0.2102 /usr/local/sonar-scanner ln -s /usr/local/sonar-scanner/bin/sonar-scanner /usr/bin/ sonar-scanner
cd /opt/yiliao/ sonar-scanner -Dsonar.projectKey=html -Dsonar.sources=. -Dsonar.host.url=http://10.0.0.5:9000 -Dsonar.login=7b4efa14d62b35ddf8906cb2a2f01699ba887732
扫描结果:
注:这里只检查了javascript的代码,因为没有安装检查html
的插件
下载html插件重新检查:
#下载 wget https://binaries.sonarsource.com/Distribution/sonar-html-plugin/sonar-html-plugin-3.2.0.2082.jar #导入容器内 docker cp sonar-html-plugin-3.2.0.2082.jar sonarqube:/opt/sonarqube/extensions/plugins/ docker restart sonarqube docker logs -f sonarqube #重新检查 sonar-scanner -Dsonar.projectKey=html -Dsonar.sources=. -Dsonar.host.url=http://10.0.0.5:9000 -Dsonar.login=7b4efa14d62b35ddf8906cb2a2f01699ba887732
全局配置:
## 找到jdk目录 rpm -qpl jdk-8u241-linux-x64.rpm | grep bin /usr/java/jdk1.8.0_241-amd64
sonar.projectKey=标识 sonar.projectName=项目名 sonar.projectVersion=1.0 sonar.sources=. sonar.java.binaries=. sonar.sourceEncoding=UTF-8 sonar.language=java
以上是关于Docker部署sonarqube代码质量检查的主要内容,如果未能解决你的问题,请参考以下文章
自动化代码审查平台: 基于Docker Compose整合Jenkins + SonarQube