在最近的一次声纳测试中,我们发现在我们的项目中有超过30,000的违规行为。我被告知花一些时间来查看所有阻止/严重违规并相应地修复它们。我的导师告诉我,要再次对项目进行声纳,我必须首先提交我所做的更改。因为我是实习生,所以他们不想这样做。除了提交更改并运行声纳之外还有其他方法吗?
我正在使用Intellij,如果这对任何事情都有帮助,那么这些项目就会被重复化。
答案 0 :(得分:16)
是的,请按照http://docs.sonarqube.org/display/SONAR/Installing
上的说明设置本地Sonar服务器完成后,您可以通过mvn声纳:sonar查看localhost:9000上的所有项目。没有必要安装构建服务器,只要您的项目启用了maven,您就可以在本地声纳服务器运行时执行mvn sonar:sonar。
您还可以安装eclipse插件(如果您使用eclipse),这将允许您进行实时代码分析 - 这样您就可以看到何时设法解决违规问题。违规行为也直接在代码中突出显示,这有很大帮助。
http://docs.sonarqube.org/display/SONAR/SonarQube+in+Eclipse
答案 1 :(得分:3)
Sonar内部使用PMD,Checkstyle等插件。您可以为eclipse安装PMD或checkstyle插件,它将显示所有潜在的违规行为。在您签到之前,了解您已解决问题的程度
将非常有用答案 2 :(得分:1)
你可以在你的机器上本地安装hudson + sonar,并在每次你想要的时候运行它,不需要提交代码。
您需要花费相当多的时间来设置内容,但是有很多好的文档可以这样做。
答案 3 :(得分:0)
简单脚本或插件应该能够提供的令人难以置信的解决方案。如果Git commit可以做到,那又为什么不能呢?我找到了Sonar(Lint)插件,该插件与IJ很好地兼容。也许是游戏晚了,但现在可用。
答案 4 :(得分:0)
您可以使用SonarLint。您可以使用IDE对其进行配置,并为其提供对SonarQube或SonarCloud的访问权限,并配置每个项目以使用Sonar实例中使用的质量配置文件。因此,您的IDE在您编写代码时会显示代码气味等。
答案 5 :(得分:0)
在docker上运行SonarQube服务器可能会有所帮助。
docker pull sonarqube
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube
docker start sonarqube
从扫描仪here下载并安装SonarScanner。
在项目目录中创建一个名为sonar-project.properties
的文件
并包含以下内容。
sonar.projectKey=YourProjectKey
sonar.projectName=YourProjectName
sonar.projectVersion=1.0
sonar.sources=.
cd /to/project/path
sonar-scanner
在浏览器中打开http://localhost:9000。
使用默认用户名和密码( admin , admin )登录。