2015-06-18 4 views
2

Мы используем jenkins с SonarQube для анализа кода в наших проектах php. Теперь мы создаем файлы покрытия phpunit на разных серверах и хотим загрузить эти файлы покрытия в SonarQube. Проблема в том, что файлы покрытия есть и, кажется, загружаются в SonarQube, но покрытие кода в SonarQube по-прежнему пуст. Интересна линия после загрузки файлов покрытия кода:SonarQube PHP без покрытия кода

INFO - Project: null 

Практически такая же ошибка была описана на старом гидролокатора рассылки в этом посте: http://sonarqube.15.x6.nabble.com/PHPUnit-test-coverage-from-PHPUnit-not-being-picked-up-with-Giving-Project-null-error-tc5028771.html#none

Полный журнал бегуна:

INFO: Runner configuration file: /opt/sonar-runner/conf/sonar-runner.properties 
INFO: Project configuration file: NONE 
INFO: Default locale: "en_US", source code encoding: "UTF-8" 
INFO: Work directory: /var/lib/jenkins/jobs/FooBarJob-Dev/workspace/.sonar 
INFO: SonarQube Server 5.0 
INFO - Load global referentials... 
INFO - Load global referentials done: 297 ms 
INFO - User cache: /var/lib/jenkins/.sonar/cache 
INFO - Install plugins 
INFO - Install JDBC driver 
INFO - Create JDBC datasource for jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true 
INFO - Initializing Hibernate 
INFO - Load project referentials... 
INFO - Load project referentials done: 1514 ms 
INFO - Load project settings 
INFO - Loading technical debt model... 
INFO - Loading technical debt model done: 30 ms 
INFO - Apply project exclusions 
INFO - ------------- Scan FooBarJob 
INFO - Load module settings 
INFO - Language is forced to php 
INFO - Loading rules... 
INFO - Loading rules done: 1442 ms 
INFO - Configure Maven plugins 
INFO - Compare to previous analysis (2015-06-18) 
INFO - Compare over 30 days (2015-05-19, analysis of 2015-06-18 08:18:26.0) 
INFO - No quality gate is configured. 
INFO - Base dir: /var/lib/jenkins/jobs/FooBarJobDev/workspace 
INFO - Working dir: /var/lib/jenkins/jobs/FooBarJob-Dev/workspace/.sonar 
INFO - Source paths: src/main 
INFO - Test paths: src/main/php/FooBarJob/Tests 
INFO - Source encoding: UTF-8, default locale: en_US 
INFO - Index files 
INFO - Excluded sources: 
INFO - **/Tests/** 
INFO - **/Tests/** 
INFO - Included tests: 
INFO - **/Tests/** 
INFO - 48 files indexed 
INFO - Quality profile for php: Sonar way 
INFO - Sensor NoSonar and Commented out LOC Sensor... 
INFO - Sensor NoSonar and Commented out LOC Sensor done: 156 ms 
INFO - Sensor QProfileSensor... 
INFO - Sensor QProfileSensor done: 6 ms 
INFO - Sensor [email protected] 
INFO - Sensor [email protected] done: 1984 ms 
INFO - Sensor PHPUnit Sensor... 
INFO - Analyzing PHPUnit tests report: var/phpunit.xml 
INFO - Analyzing PHPUnit coverage report: var/coverage.xml 
INFO - Project: null 
INFO - Sensor PHPUnit Sensor done: 1507 ms 
INFO - Sensor InitialOpenIssuesSensor... 
INFO - Sensor InitialOpenIssuesSensor done: 127 ms 
INFO - Sensor ProjectLinksSensor... 
INFO - Sensor ProjectLinksSensor done: 15 ms 
INFO - Sensor VersionEventsSensor... 
INFO - Sensor VersionEventsSensor done: 40 ms 
INFO - Sensor FileHashSensor... 
INFO - Sensor FileHashSensor done: 114 ms 
INFO - Sensor SCM Sensor... 
INFO - Sensor SCM Sensor done: 125 ms 
INFO - Sensor CPD Sensor... 
INFO - DefaultCpdEngine is used for php 
INFO - Cross-project analysis disabled 
INFO - Sensor CPD Sensor done: 373 ms 
INFO - Execute decorators... 
INFO - Store results in database 
INFO - ANALYSIS SUCCESSFUL, you can browse https://localhost/sonar/dashboard/index/com.barComp:FooBarJob 
INFO - Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report. 
INFO - Executing post-job class org.sonar.plugins.core.issue.notification.SendIssueNotificationsPostJob 

ответ

2

Файл покрытия содержит пути к исходным файлам, и эти пути должны быть абсолютными. Если вы создаете файлы покрытия phpunit на одном сервере и запускаете анализ SonarQube на другом сервере, абсолютные пути, скорее всего, будут разными. Пути, которые невозможно решить при загрузке файла покрытия, игнорируются.

Еще одна вещь: последняя версия плагина SonarQube PHP (2.6) дает вам журналы, которые немного полезны для такого рода проблем.

+0

Где эти журналы доступны? – ton

+0

У меня также были проблемы с этим. Я получаю 'Не удалось разрешить пути X-файла в top.xml, первый неразрешенный путь: ', но мои пути являются абсолютными и существующими. – ton

+0

ton, я не вижу явного ответа. Я предлагаю вам создать новый вопрос, включая некоторые детали: версии SonarQube и плагина PHP, конфигурацию проекта, журналы анализа ... –