2013-12-03 3 views
0

Я пытаюсь добавить анализ профиля Sonar Web и XML в мой стабильный набор анализов профиля Java. Анализ профиля качества Sonar XML не может завершить проверку XHTML. Я подозреваю, что проблема заключается в том, что механизм проверки не может получить доступ к XML-схеме через Интернет из-за проблем с прокси.Sonar 3.7 XML-профиль Ошибка проверки XHTML

Ошибка:

[INFO] [11:48:07.587] Sensor XmlSourceImporter... 
[INFO] [11:48:23.354] Sensor XmlSourceImporter done: 15767 ms 
[INFO] [11:48:23.354] Sensor XmlSensor... 
[INFO] [11:48:23.557] Validate Exit.xhtml with schema xhtml1-transitional 
[ERROR] [11:48:44.542] Could not analyze the file D:\Jenkins_home\.jenkins\jobs\...\Exit.xhtml 
org.sonar.api.utils.SonarException: java.net.ConnectException: Connection timed out: connect 
    at org.sonar.plugins.xml.checks.XmlSchemaCheck.validate(XmlSchemaCheck.java:248) ~[na:na] 
    at org.sonar.plugins.xml.checks.XmlSchemaCheck.validate(XmlSchemaCheck.java:227) ~[na:na] 
    at org.sonar.plugins.xml.checks.XmlSchemaCheck.validate(XmlSchemaCheck.java:259) ~[na:na] 
    at org.sonar.plugins.xml.XmlSensor.analyse(XmlSensor.java:69) ~[na:na] 
    at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:72) [sonar-batch-3.7.1.jar:na] 

Конфигурация:

  • Tomcat 7.0.11 с Дженкинс 1.509.3 и Sonar 3.7.1 установлен в Tomcat на Windows Server 2003.
  • Plugin версиях: Sonar XML версия 1.0, Jenkins Sonar версии 2.1, Jenkins Subversion 1.50.
  • Jenkins Maven 2.2.1 Выполнение заданий запуска сонара.
  • Весь доступ к Интернету обеспечивается прокси-сервером (корпоративная конфигурация).
  • Сонар, настроенный с полномочиями прокси-сервера в conf/sonar.properties (доказательство: возможность доступа к Центру обновления Sonar - если коммутаторы прокси-сервера Tomcat настроены на разрешение доступа к прокси-серверу ниже).
  • Процесс Tomcat Java, сконфигурированный с пустым -Dhttp.proxyHost и -Dhttp.proxyPort, позволяет отключать настройки прокси-сервера, передаваемые из Windows. Это было необходимо, поэтому информация прокси не передавалась Дженкинсу (доступ к Subversion от Jenkins невозможен, если с Tomcat переданы прокси-ключи).

Я думаю, что я нахожусь в уловке 22, где мне нужен Tomcat для подавления настроек прокси-сервера, поэтому доступ к Subversion для Jenkins работает, но для настройки анализатора Sonar XML необходимы настройки прокси-сервера Tomcat. Может быть, мне нужно отказаться от Tomcat в пользу автономных установок Дженкинса и Сонара?

Правильно ли я в моем анализе параметров прокси-сервера и/или есть еще одна конфигурация Sonar, я могу попытаться заставить проверку XHTML работать?

ответ

1

Я решил эту проблему, настроив установку Maven, используемую Jenkins, для использования прокси для подключения к сети. Ссылка: http://maven.apache.org/guides/mini/guide-proxies.html. В конфигурации прокси-сервера Maven я добавил URI внутренней сети (*.<corporate-domain-root>.*) в пределах <nonProxyHosts>.

Свойства прокси-сервера Sonar в conf/sonar.properties не требуется.

Итак, Jenkins и Sonar инициируются через Tomcat без настроек прокси (т.е. пустые и -Dhttp.proxyPort переключатели). Когда задание Дженкинса запускает анализ сонара через Maven, Maven может позвонить в Интернет через конфигурацию прокси-сервера при выполнении проверки проверки схемы XML.

Смежные вопросы