Запуск Nightly Builds как запланированная задача XP - Проблема с Classpath - PullRequest
2 голосов
/ 16 апреля 2009

Я запускаю ночные сборки JUnit на своем компьютере в качестве запланированной задачи в Windows XP. Мое приложение использует Jaxb, поэтому некоторые тесты должны ссылаться на схемы xsd, используя системный путь к классам. Когда выполняется ночная сборка, пока я не на компьютере, я получаю сообщение об ошибке, подобное этому:

java.lang.Exception: невозможно загрузить схему mySchema.xsd из пути к классам

Однако, когда я запускаю сборку вручную, такой ошибки не возникает. Переменная среды для расположения моих схем - это переменная System , а не переменная User, поэтому я не знаю, что может быть причиной этой ошибки. Что может быть причиной этой ошибки?

РЕДАКТИРОВАТЬ: Альтернативы, такие как Хадсон, не то, что я прошу. Я прошу решение для технологии, описанной выше (пакетный файл выполняется как запланированная задача).

Ответы [ 3 ]

1 голос
/ 16 апреля 2009

Я подозреваю, что ваш рабочий каталог отличается от того, что вы ожидаете (а не от переменной classpath). Это не сразу очевидно, если вы запускаете эту запланированную задачу как пользователь или как системную задачу. В любом случае стоит выяснить, где именно выполняется задание.

Тем не менее, хотя я использовал для настройки автоматических сборок с использованием запланированных задач Windows XP (точно так же, как вы делаете сейчас), в настоящее время мы используем CruiseControl . В абстрактном плане это не сильно отличается от того, что вы делаете (регулярно выполняете сборку), но увеличивает вашу гибкость . Здесь наиболее ценной возможностью CruiseControl является обнаружение внесенных изменений и запуск только сборки , а затем . Мы узнаем о поврежденных сборках, поврежденных модульных тестах и ​​т. Д. В течение 10 минут после принятия.

1 голос
/ 16 апреля 2009

hudson - еще один механизм непрерывной интеграции, который очень прост в настройке:

Hudson предлагает следующие функции :

  • Простая установка: просто java -jar hudson.war, или разверните его в сервлете контейнер. Нет дополнительной установки, нет базы данных.
  • Простая настройка: Hudson может быть настроен полностью из его дружественных веб-интерфейс с обширным на лету проверка ошибок и встроенная помощь. Там в нет необходимости настраивать XML вручную больше, хотя, если вы хотите сделать так что вы тоже можете это сделать.
  • Изменить поддержку набора: Хадсон может создать список изменений, внесенных в сборка из CVS / Subversion / Mercurial. это также сделано в довольно эффективном мода, чтобы уменьшить нагрузку на хранилище.
  • Постоянные ссылки: Хадсон дает вам чистые читаемые URL для большинства его страницы, включая некоторые постоянные ссылки "последняя сборка" / "последняя успешная строить », чтобы их можно было легко связаны из других источников.
  • RSS / E-mail / IM Интеграция: Монитор построить результаты по RSS или электронной почте, чтобы получить уведомления о сбоях в режиме реального времени.
  • Маркировка после факта: сборки могут быть помечены долго после сборки завершен тест JUnit / TestNG отчетность: протоколы испытаний JUnit могут быть табулированы, обобщены и отображены с исторической информацией, такой как когда он начал ломаться и т. д. Тенденция истории строится на граф.
  • Распределенные сборки: Hudson can распределить сборки / тестовые нагрузки несколько компьютеров. Это позволяет вам получить большинство из тех праздных рабочие станции, сидящие под столы разработчиков. файл дактилоскопия: Хадсон может отслеживать из которых изготовлены какие банки, и какая сборка использует какую версия банок и тд. это работает даже для банок, которые производятся за пределами Гудзона, и идеально подходит для проекты для отслеживания зависимости.
  • Поддержка плагинов: Hudson может быть расширен через сторонние плагины. Вы можно написать плагины, чтобы сделать Гудзон инструменты поддержки / процессы, которые ваш Команда использует.
1 голос
/ 16 апреля 2009

Вы должны проверить Хадсон или Круиз-контроль . Обе программы просты в настройке и позаботятся об этом типе проблемы, предоставив вам больше отчетов, контроля и улучшенного удобства использования. Вы будете тратить меньше времени на изучение проблем сборки.

...