Конфигурация PMD Хадсона / Дженкинса - PullRequest
3 голосов
/ 31 октября 2011

Я новичок в Jenkins и только начал настраивать его.Вот что я делал до сих пор:

  1. Установил и настроил Jenkins для отображения домашней страницы.Добавлен плагин PMD.
  2. Установите HUDSON_HOME в определенную директорию> C: \ Work \ Jenkins
  3. Сконфигурировал тестовую сборку для запуска простого ничего не делающего ant-скрипта.Он успешно запускается

  4. Написан независимый pmdbuild.xml для запуска проверок набора файлов в C: \ myview (я использую clearcase).Этот xml также копирует выходной файл pmd_results.xml в каталог рабочей области в $HUDSON_HOME/[job-name]/workspace

  5. Теперь я добавил pmdbuild.xml в качестве шага в моей основной сборке.Итак, моя сборка состоит из 2 шагов:Запустите простой скрипт, ничего не делайте.б.Запустите p mdbuild.xml, который сгенерирует pmd_results.xml и поместите его в $HUDSON_HOME/[job-name]/workspace (с жестким кодом, поскольку плагин Jenkins PMD ожидает файл там)

  6. Дженкинс автоматически подхватывает pmd_results.xmlс плагином и отображает предупреждения и все.

Теперь проблема:

  • Если я щелкну имя файла в результатах PMD, он выдаст исключение filenotfound при его поискедля исходного файла в $HUDSON_HOME/[job-name]/workspace.

  • Мои файлы Java-кода помещаются в C: \ myview (представление снимка в чистом виде)

У меня вопрос, нужно ли мне все мои файлы кода присутствовать внутри $HUDSON_HOME/[job-name]/workspace ??То есть я не могу сказать Дженкинсу искать входные файлы PMD в C: \ myview или любом другом каталоге вместо $HUDSON_HOME/[job-name]/workspace ??

Извините за очень длинное описание.

1 Ответ

3 голосов
/ 31 октября 2011

Дженкинс ожидает, что весь код находится в рабочей области.Обычно Jenkins используется для извлечения копии кода в рабочую область, а затем выполняет все этапы сборки на Sources в рабочей области.

На первый взгляд может показаться сдерживающим, но это избавит вас от многих проблем, если вам нужно переместить Jenkins на другой сервер или создать подчиненный экземпляр.

Так что я бы посоветовал вам разрешить Jenkins проверятьИзвлеките свой код (там должен быть плагин clearcase) в рабочее пространство и запустите анализ извлеченного кода.

Если есть веские причины, по которым ваш код должен оставаться там, где он есть (C: \ myview в вашем случае), вы все равно можете установить рабочую область вашей сборки в этот каталог (найдите это на странице конфигурации работы,вам нужно нажать на кнопку «расширенный», чтобы увидеть опцию).

...