2010-06-16 3 views
1

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

+0

Вы уверены, что все серверы сборки это сделают? Может быть, только плохо закодированные. –

+0

Взгляните на http://stackoverflow.com/questions/3056129/hudson-plugins-for-visual-svn/3056233#3056233 - Это может ответить на ваш вопрос. –

ответ

1

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

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

1

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

после совершения крючок

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

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

. , ,

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

-2

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

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

+0

Во-первых, непрерывная интеграция означает создание * непрерывно *, в конечном счете, после каждого изменения не раз в день (так называемые ежедневные сборки). Затем Хадсон имеет * тихий период *, позволяющий отложить сборку после фиксации (Хадсон будет ждать N секунд до запуска сборки). Наконец, я должен сказать, что делать неатомные коммиты - очень плохая практика. –

 Смежные вопросы

  • Нет связанных вопросов^_^