SonarQube:
开源的代码分析平台 https://www.sonarsource.com/products/sonarqube/downloads/ 它会帮忙检查代码中是否有问题 ,可以通过Maven 或 Jenkins 帮忙实现检测的效果
拉取镜像:
docker pull postgres
docker search sonarqube
docker pull sonarqube:8.9.6-community # 拉取社区版sonarqube
cd /home/myjenkins
mkdir sonarqube_docker
cd /home/myjenkins/sonarqube_docker
vim docker-compose.yml
version: '3.1'
services:
db:
image: postgres
container_name: db
ports:
- 5432:5432
networks:
- sonarnet
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
sonarqube:
image: sonarqube:8.9.6-community
container_name: sonarqube
depends_on:
- db
ports:
- 9000:9000
networks:
- sonarnet
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
networks:
sonarnet:
driver: bridge
docker-compose up -d # 直接构建
构建结束后发现镜像启动起来就自动推出了
查看原因:
docker logs sonarqube
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
vim /etc/sysctl.conf # 手动设置最大虚拟内存
vm.max_map_count=262144 --> 保存退出
sysctl -p # 查看刚刚设置的虚拟内存
docker-compose up -d # 重新构建
默认的账号和密码都是:admin
SonarQube的基本使用:
给SonarQube安装插件:
登录SonarQube --> Administration --> Marketplace --> 搜索Chinese --> 要点击同意才能下载 I understand the risk --> 安装完成之后要重启 SonarQube --> Restart Server
找到 apache-maven-3.6.1/conf/settings.xml 文件打开,添加如下内容(注意密码为SonarQube登录密码)
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.login>admin</sonar.login>
<sonar.password>123456789</sonar.password>
<sonar.host.url>http://192.168.8.109:9000</sonar.host.url>
</properties>
</profile>
<activeProfiles>
<activeProfile>jdk8</activeProfile>
<activeProfile>sonar</activeProfile>
</activeProfiles>
配置完成这些就可以用 SonarQube 对当前电脑中 JAVA项目代码进行质量检测了
cd 项目所在目录
mvn -v # 检测本机maven版本信息
mvn sonar:sonar # 会下载插件并自动对代码进行检测
完成后回到 SonarQube 首页 会看到刚刚检测的项目信息
sonar-scanner
网友评论