说明
这里使用Jenkins服务器部署Sonar Qube来检测代码,如果电脑内存允许,也可以单独加一台服务器部署Sonar Qube。
七、集成Sonar Qube
7.1 Sonar Qube介绍
Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。
Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来。
下图为Sonar Qube的UI界面
7.2 Sonar Qube环境搭建
7.2.1 Sonar Qube安装——docker安装
Sonar Qube在cent os 7.9版本中已经放弃了对MySQL的支持,并且建议在商业环境中采用PostgreSQL,那么安装Sonar Qube时需要依赖PostgreSQL。
并且这里会安装Sonar Qube的长期支持版本8.9
- 拉取镜像
docker pull postgres docker pull sonarqube:8.9.6-community
- 编写docker-compoe.yml
# 创建目录sonarqube_docker,在此目录下编辑yml文件 cd /usr/local/docker mkdir sonarqube_docker cd sonarqube_docker ls vim docker-compose.yml 下面内容粘贴进去: version: "3.1" services: db: image: postgres container_name: db ports: - 5432: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
- 配置最大内存
# 设置最大内存 vim /etc/sysctl.conf # 加入以下内容 vm.max_map_count=262144 # 重新加载 sysctl -p
- 启动容器
cd /usr/local/docker/sonarqube_docker docker-compose up -d
需要一定时间启动,可以可以查看容器日志,看到如下内容代表启动成功
7.2.2 访问sonarqube
访问Sonar Qube首页——用IP+端口号,这里是192.168.2.211:9000。默认用户名和密码都为admin
还需要重新设置一次密码
进入Sonar Qube首页
7.2.3 安装中文插件
安装成功后需要重启,安装失败重新点击install重装即可。
安装成功后,会查看到重启按钮,点击即可
重启后查看效果