Настройте Hudson так, чтобы он выполнял действия сборки или после сборки только при обнаружении изменений в SVN
-
12-09-2019 - |
Вопрос
Есть ли способ настроить Hudson на выполнение действий сборки или Post Build только при наличии изменений в SVN / CVS
Спасибо
Решение
Вы можете попросить Hudson опросить SCM на предмет изменений и действовать только в том случае, если он обнаружит изменения.
Опрос SCM:Настройте Hudson для опроса изменений в SCM.
Обратите внимание, что это будет дорогостоящая операция для CVS, поскольку каждый опрос требует, чтобы Hudson сканировал всю рабочую область и проверял ее с помощью сервера.Рассмотрите возможность настройки триггера "push", чтобы избежать этих накладных расходов, как описано в этом документ
Вы также можете добавить что-то в свои перехваты SCM после фиксации, что запустит сборку Hudson.
Триггер создается удаленно (например, с помощью скриптов):Включите эту опцию, если хотите запускать новые сборки, обращаясь к специальному предопределенному URL (удобному для скриптов).
Одним из типичных примеров этой функции было бы запускать новую сборку из скрипта перехвата системы управления версиями, когда кто-то только что внес изменения в репозиторий, или из скрипта, который анализирует ваш элемент управления версиями уведомления по электронной почте.
Вам нужно будет предоставить токен авторизации в виде строки, чтобы только те, кто это знает , могли удаленно запускать сборки этого проекта.
Другие советы
Это не так просто, как посмотреть номер версии (как указано в другом месте), если только ваша сборка не предназначена для всего репозитория Subversion.Обычно у вас есть проекты, использующие один репозиторий Subversion, и вы строите какое-то поддерево.Глобальный номер версии не помогает.
«svn info [url_to_subtree]» покажет дату последнего изменения.Вы можете проанализировать это и выяснить, позднее ли это даты вашей последней сборки, и запустить новую сборку.