Запуск сборки Cruise Control.net с использованием пост-фиксации - PullRequest
4 голосов
/ 10 июня 2009

Я ищу способ запуска сборки Cruise Control.net из ловушки subversion post-commit.

Я хочу, чтобы это началось сразу после коммита. Я знаю о нормальном способе сделать это (опрос сервера), но нет необходимости продолжать опрашивать сервер, когда это можно сделать с помощью ловушки.

Одна мысль заключалась бы в том, чтобы вызвать функциональность «Force Build» панели мониторинга, но это вызовет сборку, даже если все модификации находятся за пределами дерева путей магистрального канала и, следовательно, не было сделано никаких изменений, которые гарантировали бы сборку.

Ответы [ 3 ]

1 голос
/ 10 июня 2009

Проблема с фильтрацией изменений заключается именно в том, почему CC.NET использует механизм опроса. (Это и тот факт, что могут быть некоторые сценарии, когда желательно включить новые изменения от нескольких разработчиков в сборку.)

Функциональность «Force build» является единственным механизмом, который я могу придумать для достижения этой цели, однако, если вы хотите, чтобы изменения из транка требовали только того, чтобы ваш хук после фиксации выполнил эквивалент журнала SVN (возможно, многословный log) пропустите через некоторые соответствующие настройки фильтра, а затем вызовите «принудительную сборку» только при необходимости.

0 голосов
/ 27 января 2010

Я бы рекомендовал не делать этого, но если вы ДЕЙСТВИТЕЛЬНО хотите, я бы начал с URL триггера .

Триггер URL-адреса отслеживает любые URL-адреса на предмет изменений, так что вы можете просто сделать так, чтобы ваш крюк после фиксации обновил HTML-файл. В качестве альтернативы, если вы используете viewvc, вы можете настроить следующий URL-адрес:

http://servername/viewvc/repos?view=rev&revision=HEAD

Этот URL будет обновляться после каждой фиксации в SVN

0 голосов
/ 10 июня 2009

Ваша идея использовать «Force Build», вероятно, будет работать.

Я не понимаю вашу озабоченность изменениями вне дерева путей магистрали? Не можете ли вы проверить это в хуке post-commit и вызвать принудительную сборку только в том случае, если измененный файл находится в / trunk

Считаете ли вы недостатком этого?

У вас есть 2 набора изменений. Вы фиксируете changeset 1, запускаете сборку, вы фиксируете changeset2, и вам нужно дождаться завершения сборки / теста, прежде чем другая сборка начнет собирать / тестировать changeset 2.

...