我一直在深入研究 Sonar 的最佳实践。共识似乎是声纳每天或每周只发射一次,例如在夜间。但是,如果使用 Jenkins 之类的 CI 服务器会怎样?Jenkins 构建在每个 SVN 提交上,运行单元测试,部署到登台环境,运行 Selenium 测试等。按照我的理解,如果 Sonar 每天/每周只启动一次,所有这些附加信息都会丢失。很可能所有团队的代码问题和失败的测试都在下午或周末得到解决。声纳可能在周日晚上或每晚运行。该应用程序是预先构建和测试的,然后基于该信息执行声纳分析。很可能所有测试都通过了,存储库中没有留下任何主要的代码问题,并且 QA 团队错误地认为没有问题,因为所有 Sonar 报告都显示为绿色。但是,在白天/一周内,该项目可能会因构建损坏等而一团糟,但从未在声纳报告中显示:)
我在这里遗漏了什么,还是应该在每次提交时实际执行 Sonar,或者至少每小时执行一次?