hudson — запускать тесты только при изменении определенной ветви кода

#git #hudson

#git #хадсон

Вопрос:

В настоящее время я использую Hudson для сборки и тестирования приложений на python и c , используя git в качестве серверной части.

Мне было интересно, есть ли хороший способ установить «запускать тест X только в том случае, если файлы в каталоге / foo / bar / baz изменились».

РЕДАКТИРОВАТЬ: Да, я знаю, что существуют git-хуки, но мне было интересно, как определить разницу между последней проверенной ревизией и текущей ревизией.

Ответ №1:

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

РЕДАКТИРОВАТЬ: Вы могли бы сделать что-то вроде этого:

  1. Получите SHA последнего коммита на сервере (git rev-parse origin / master)
  2. Получите SHA последнего коммита в вашей локальной ветке (git rev-parse master)
  3. Используйте два SHA для выполнения ‘git diff —name-only SHA1 SHA2’ на сервере, чтобы увидеть, попала ли фиксация в ваш каталог.

Параметр —name-only вернет только измененные файлы.