Плагин Sonar не работает для проектов, которые используют ANT в качестве сценария сборки - PullRequest
3 голосов
/ 25 августа 2011

Задача

Я только что установил плагин Sonar Jenkins. Я вошел в свое сконфигурированное задание (задание свободного стиля), которое создает артефакт файла WAR через сборку ANT, и сделал следующее:

  1. Установите флажок Сонар. (Здесь нет проблем)

  2. Настройка установочного каталога сонара (здесь нет проблем)

  3. Установлен флажок, который гласит: "Проверьте, не построен ли этот проект с maven 2" (я запутался здесь)

    Я установил этот флажок, потому что я не использую maven для сборки, я использую ANT, но он по-прежнему запрашивает у меня обязательные свойства, которые очень похожи на MVN, такие как: идентификатор организации, идентификатор проекта, имя проекта, версия проекта, источник каталоги ... и т.д ..

    Так что я их тоже заполнил. Когда я нажимаю кнопку воспроизведения «Build Now», сборка, кажется, работает нормально, как это было всегда до установки сонара, но в самом конце происходит сбой, потому что она пытается выполнить MAVEN.

См. Следующее:

$ mvn -f /root/.jenkins/jobs/HRDA/workspace/pom.xml -e -B сонар: сонар ФАТАЛЬНО: сбой выполнения команды java.io.IOException: не удается запустить программу "mvn" (в каталоге "/root/.jenkins/jobs/HRDA/workspace"): java.io.IOException: error = 2, такого файла или каталога нет

Вопросы

  1. Почему Сонар пытается выполнить Maven, если я установил флажок, в котором указано, установите этот флажок, если вы НЕ используете Maven 2?

  2. Могу ли я использовать этот плагин Sonar, если мои приложения построены с ANT, GANT, GRADLE?

  3. Нужно ли преобразовывать мои приложения для использования сборок MVN?

Спасибо, - Дарио

1 Ответ

3 голосов
/ 31 августа 2011

Как предложили Oers в комментариях к моему вопросу, если вы используете ANT в качестве сценария сборки на своем CI-сервере (в моем случае, Jenkins), вам придется использовать SONAR-ANT-TASK для генерации отчетов Sonar, выполните следующие действия:

  1. Загрузите MySQL или любую другую поддерживаемую Сонаром СУБД, такую ​​как Postgres, Oracle и т. Д. '
  2. Загрузите и установите сервер гидролокатора.
  3. перейдите в папку установки сонара) / extras / database / mysql и запустите сценарий create_database.sql.
  4. Мне пришлось выполнить дополнительный SQL-оператор в моем случае, используя mysql, вы можете увидеть здесь Невозможно получить доступ к базе данных Sonar MySQL. Причина: java.sql.SQLException: Доступ запрещен для пользователя 'sonar' @'glassfishdev.ccs.local' (используя пароль: YES)
  5. Запустите сонар, набрав ./sonar.sh start
  6. Добавьте задачу antarar в ваш скрипт сборки.Вы можете следовать этому шаблону http://docs.codehaus.org/display/SONAR/Analyse+with+Ant+Task+1.0
  7. НЕ установите флажок сонара на экране настройки, если у вас установлен плагин Hudson Sonar, поскольку этот плагин работает только с проектами Maven.
  8. Нажмите кнопку «Build Now».Если все вышеперечисленное было сделано правильно, вы сможете увидеть отчеты в http://ipaddressofmachinesonarisinstalled:9000/

Надеюсь, это поможет, -Dario

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...