公司的项目在开发过程中使用了sonar代码质量扫描工具,通过该工具可以及时发现代码库中的一些低质量代码,相比起人来说,机器通过一定的规则扫描后能很快并且能在大部分情况下发现一些质量问题。
试着在家里的电脑上部署一套,从结果来看效果还不错,以下记录部署过程。
1,首先在ubuntu中安装docker,wsl中的ubuntu也是同样的步骤,比如我就是在wsl中的ubuntu操作的。
sudo apt install docker.io2.创建数据目录,并且赋予读取执行权限
mkdir -p /data/sonarqube/{sonarqube_conf,sonarqube_extensions,sonarqube_logs,sonarqube_data}\nchmod 777 -R /data/sonarqube/3.创建sonarqube容器,如果之前没有安装过那么执行完这个命令后需要一定的事件以便在线安装。
docker run -itd --name sonarqube \\\n -p 9000:9000 \\\n -v /data/sonarqube/sonarqube_conf:/opt/sonarqube/conf \\\n -v /data/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \\\n -v /data/sonarqube/sonarqube_logs:/opt/sonarqube/logs \\\n -v /data/sonarqube/sonarqube_data:/opt/sonarqube/data \\\n sonarqube:8.9.0-community4.安装完可通过一下地址访问,打开地址后通过admin/admin账号密码登录,登录后可通过在线商店安装中文包等一些列插件
http://localhost:90005,此时虽然可以看到系统中的一些功能,也能创建项目,但是还需要安装sonar本身的扫描包才能实现分析,通过以下命令安装并让sonar-scanner 全局生效。
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.1.2450-linux.zip\nunzip sonar-scanner-cli-4.6.1.2450-linux.zip\nmv sonar-scanner-4.6.1.2450-linux /usr/local/\n\n# 编辑profile文件,在文件看添加以下代码让环境变量全局生效\nvim /etc/profile\nexportSCANNER_HOME=/usr/local/sonar-scanner-4.6.1.2450-linux\nexportPATH=$PATH:$SCANNER_HOME/bin\n6.安装完就可以通过sonar-scanner -v 命令查看扫描器的相关信息。
7.添加项目,并保存对应的token,后续新建的项目都可以用这个token。
8.拉取项目代码后在根目录执行以下命令后,在sonar系统就能看到扫描结果,其中projectkey就是刚刚新建的项目名称。
sonar-scanner \\\n -Dsonar.projectKey=nuxt-web-plus \\\n -Dsonar.sources=. \\\n -Dsonar.host.url=http://localhost:9000 \\\n -Dsonar.login=3a25ccc009c4f0d0c0d178477662d2c8bd1417e8