在每个SVN提交上运行Sonar Runner以分析传出的SVN文件

在每个SVN提交上运行Sonar Runner以分析传出的SVN文件,svn,jenkins,sonarqube,sonar-runner,Svn,Jenkins,Sonarqube,Sonar Runner,我已经在我的Ubuntu机器上安装了SonarQube,并为我的一个PHP项目运行了sonar runner。它工作得很好,我可以看到声纳网络面板中的所有错误 http://localhost:9000/sonar 但我真正想做的是分析所有文件中的错误,这些错误将提交到我的svn存储库中。我读了很多关于哈德逊和詹金斯的书,但实际上并没有得到确切的想法。在我以前的公司里,有声纳和svn。当我们在svn中提交文件时,sonar用于分析所有传出文件的代码,我的svn客户端返回了所有错误 我也读过关于

我已经在我的Ubuntu机器上安装了SonarQube,并为我的一个PHP项目运行了sonar runner。它工作得很好,我可以看到声纳网络面板中的所有错误

http://localhost:9000/sonar
但我真正想做的是分析所有文件中的错误,这些错误将提交到我的svn存储库中。我读了很多关于哈德逊和詹金斯的书,但实际上并没有得到确切的想法。在我以前的公司里,有声纳和svn。当我们在svn中提交文件时,sonar用于分析所有传出文件的代码,我的svn客户端返回了所有错误


我也读过关于提交前和提交后svn钩子的文章,但是专家们说提交文件需要花费很多时间,并且会让其他用户等待他们的svn使用。

假设您可以访问svn存储库服务器,这是一个自动构建系统(maven/ant或类似)sonar server有一个配置了质量门的构建断路器插件,您可以编写一个简单的shell脚本:

  • svn更新存储库工作区
  • 编译任务(maven/ant)
  • 以增量模式执行sonar runner
  • 生成中断时的自定义错误消息
将脚本复制到存储库挂钩目录。如果存储库已经有一个预提交挂钩,请将命令/bin/sh附加到您的\u shell\u脚本\u full\u路径

如果预提交挂钩文件不存在,请创建文件pre-commit.sh并包含该文件