나는 Sonar 모범 사례에 대해 꽤 파고 들었다. 합의 사항은 음파 탐지기가 하루 또는 일주일에 한 번만 발사된다는 것입니다. 밤 동안. 그러나 Jenkins와 같은 CI 서버를 사용한다면 어떨까요? Jenkins는 모든 SVN 커밋을 기반으로 유닛 테스트를 실행하고 환경을 준비하고 Selenium 테스트를 실행합니다. Sonar가 하루에 한 번만 실행되면이 모든 추가 정보가 손실됩니다. 대부분의 팀의 코드 문제와 실패한 테스트는 오후 또는 주말에 해결되었을 가능성이 큽니다. 수중 음파 탐지기는 일요일 밤이나 매일 밤마다 작동합니다. 응용 프로그램이 미리 빌드되고 테스트 된 다음 해당 정보를 기반으로 음파 분석이 실행됩니다. 모든 테스트가 통과 할 가능성이 높습니다. 주요 코드 문제는 저장소에 남아 있지 않으며 QA 팀은 모든 소나 보고서가 녹색으로 표시되기 때문에 문제가 없다고 잘못 판단합니다. 그러나 주/낮에는 프로젝트가 깨진 빌드 등으로 완전히 엉망이되었을 수도 있지만 Sonar 보고서에는 표시되지 않습니다. :)소나를 하루에 한 번만 발사해도 충분합니까?
여기에 뭔가가 누락되었거나 실제로 소니가 처형해야합니까? 모든 커밋, 적어도 한 시간에 한 번?
좋은 지적, 고마워. 위의 다른 의견은 실제로 품질 보고서를위한 저장소가 하나만 있어야한다는 점에서 귀하의 대답을 부분적으로 타겟팅합니다. Jenkins cobertura 보고서는 엄청난 품질 문제를 나타낼 수 있지만 Sonar에는 표시되지 않습니다. 당연히 단위 테스트 보고서로는 Sonar를 실행할 수 있지만 모든 커밋에 대해 코드 분석을 전혀 수행하지 않고 매일 또는 일주일에 한 번 테스트 보고서와 코드 분석 보고서를 실행할 수 있습니다. 하나는 구성을 실행하는 별도의 Sonar를 유지해야하지만 괜찮습니다. – user1340582
소나는 테스트 및 코드 품질에 대한 정보를 표시 할 수있는 품질이 부족합니다. 실제로 Sonar는 웹 인터페이스에서 Cobertura, PMD, Checkstyle 등과 같은 타사 도구를 사용하여 정보를 수집하는 도구 일뿐입니다. 그것은 그것보다 훨씬 나아질 수 있습니다. – gdfbarbosa