Опрос сервера сборки против событийных сборок - PullRequest
1 голос
/ 16 июня 2010

Почему серверы сборки запрашивают изменения, а не SVN запускает событие (или шаг после фиксации), который сообщает серверу сборки, чтобы начать сборку?Кажется ужасно неэффективным опросить изменения, особенно когда количество проектов увеличивается, а период опроса устанавливается на очень низкое значение (например, 30 секунд).

Ответы [ 3 ]

1 голос
/ 17 июня 2010

Кажется ужасно неэффективным опросить изменения, особенно когда количество проектов увеличивается, а период опроса установлен на очень низкое значение (например, 30 секунд).

Опрос неэффективен и не масштабируется вообще.Если ваша VCS имеет поддержку перехватов после фиксации, вы должны предпочесть этот механизм.Хадсон предоставляет URL-адрес для запуска сборки, выводит его из сценария после фиксации (и настраивает соответствующий период ожидания ).

1 голос
/ 16 июня 2010

Hudson также поддерживает сборку через триггер после фиксации.См .:
http://wiki.hudson -ci.org / display / HUDSON / Subversion + Плагин

Хук после фиксации

Hudson может опрашивать репозитории Subversion на предмет изменений, и, хотя это достаточно эффективно, это может происходить только раз в минуту, поэтому вам, возможно, придется подождать целую минуту, прежде чем Hudson обнаружит изменение.

Чтобы уменьшить эту задержку, вы можете настроить хук после фиксации, чтобы хранилище Subversion могло уведомлять Хадсона о каждом изменении в этом хранилище.Для этого поместите следующий скрипт в файл пост-фиксации

.,.

(Есть примеры для Linux / Windows.)

0 голосов
/ 16 июня 2010

Как правило, сборки запускаются через определенный промежуток времени, например 3 утра каждый день. Там можно разместить некоторую логику, чтобы увидеть, есть ли изменения, тогда только собирать проект, но обычно они не проверяются, и сборки производятся каждый день (ночные сборки)

Что касается вашего предложения, которое является хорошим, я бы сказал, что не представляется возможным запустить сборку при каждом коммите. Много раз разработчик не фиксирует свои изменения за один раз и предпочитает дополнительные проверки. Кроме того, это дает некоторое спокойствие, чтобы знать, когда начнется процесс сборки, так что вы по крайней мере сможете привести в порядок вещи в случае неправильных фиксаций. С вашим предложением неправильный коммит приводит к неправильной сборке.

...