Хадсон: отслеживание количества измененных файлов в каждой сборке - PullRequest
5 голосов
/ 19 июля 2010

Кто-нибудь знает о встроенном способе, позволяющем Hudson отслеживать, сколько файлов изменено, добавлено или удалено в хранилище исходного кода в каждой сборке?Я хотел бы отобразить результаты так же, как на графиках результатов теста JUnit показано количество пройденных и неудачных тестов для каждой сборки.

Плагин Measurement Plots и Плагин Plot похоже, что они могут дать мне отправную точку, но мне интересно, может быть, уже есть более специфический плагин или функция.

Моя система SCM - CVS, но я быкак универсальное решение, которое будет работать с другими системами SCM.

Ответы [ 2 ]

2 голосов
/ 29 августа 2010

Я не верю, что существуют какие-либо плагины, которые будут делать это напрямую.

Если его не нужно специально отслеживать для каждой сборки (то есть, если вас действительно больше интересуют изменения со временем ), то я бы предложил настроить Сонар Он отслеживает ежедневные изменения ваших сборок и фантастически интегрируется с Hudson или FishEye , который подключается непосредственно к вашей системе SCM.

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

1 голос
/ 24 августа 2010

Я думаю, что этот вопрос более общий, чем специфический для Хадсона.Возможно, вам придется написать небольшой код самостоятельно.К сожалению, я не думаю, что какое-либо решение будет независимым от SCM, потому что Хадсон склонен использовать сами инструменты SCM для выполнения битов SCM.

Я не смог найти никаких готовых решений, так что вот чтоЯ вижу, что должно быть сделано:

  1. Найдите команду SCM, которую вы используете (например, svn up, cvs -n).
  2. Используйте wc -l или некоторые другиеКоманда для подсчета количества строк в выводе.Это даст вам оценку количества измененных / добавленных / удаленных файлов.
  3. Анализируйте выходные данные, если вам нужны имена отдельных файлов, которые были добавлены / изменены / удалены.

К сожалению, я не думаю, что есть SCM-независимый способ сделать это.Возможно, лучшее, что вы могли бы сделать, - это найти реализацию клиента CVS / SVN на чистом Java, которую вы могли бы изменить, чтобы отслеживать файлы, поступающие из SCM.

...