sonarQube检查GO代码
各服务镜像版本
- sonarQube sonarqube:8.7.1-community
- postgres postgres:13.2
- postgresAdmin dpage/pgadmin4:5.0
部署postgres数据库
预先部署好postgres数据库,并且创建数据库sonarqube
CREATE DATABASE sonarqube WITH OWNER=postgres ENCODING='UTF8' CONNECTION LIMIT=-1;
docker启动sonarQube
docker创建容器
docker volume create sonarqube_data
docker volume create sonarqube_extensions
docker volume create sonarqube_logs
更改系统参数
sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -n 65536
ulimit -u 4096
docker启动
docker run -d --name sonarqube -p 9000:9000 --link postgresql -e SONAR_JDBC_URL=jdbc:postgresql://172.30.40.194/postgres -e SONAR_JDBC_USERNAME=postgres -e SONAR_JDBC_PASSWORD=123456 -v sonarqube_data:/opt/sonarqube/data -v sonarqube_extensions:/opt/sonarqube/extensions -v sonarqube_logs:/opt/sonarqube/logs sonarqube:8.7.1-community
SNOAR_JDBC_URL是jdbc:postgresql://IP/username
–link连的是你启动的postgresql的名称
登入sonarQube web
IP:9000登入sonarQube页面
刚执行完的画面如下,得等一下才会完全启动
帐号密码admin/admin,登入后会需要重置密码
这样sonarQube就部署好了
检查GO代码
创建project
这里我是直接都填自己项目名称,最好和自己的项目名一致
创建项目token
输入完项目名后,会创建token,token名称我输入的也是项目名称
下载scanner
创建完项目token后,下载需要的scanner,我是写GO,并且在Linux上,所以就下在linux检查go的scanner
linux配置scanner
将下载的scanner解压到linux的/usr/local下(哪里都可以,只不过自己习惯装在这)
然后将scanner的bin目录加到环境变量PATH下
输入sonar-scanner -v会看到相关信息
扫描代码
在自己项目根目录下执行红框里的内容