2009-12-03 5 views
3

Я хочу установить CruiseControl.Net в мою компанию. В настоящее время у нас есть несколько решений .net, хранящихся в репозитории Bazaar, и я хочу использовать MSBuild для создания каждого решения. Это не показалось слишком противоречивым, но я не вижу простого способа привязать CruiseControl.Net к Bazaar.Bazaar + CruiseControl.Net

Там, кажется, был плагин, чтобы сделать это в http://www.sorn.net/projects/bazaar-ccnet, но эта связь не работает, и я не могу показаться, чтобы найти плагин где-нибудь еще

Я собирался использовать внешний тип управления источником, но базар кажется bork при переданном параметре GETMODS

Теперь я хочу создать отдельный проект, чтобы вытащить модификации с базара с помощью задачи Exec, а затем создать другой проект для запуска проверки элемента управления FileSystem в этом каталоге. Я в меру уверен, что могу заставить это работать, но кажется немного взломанным.

Я не против писать новый плагин Bazaar для CruiseControl.Net, но я не могу найти, с чего начать.

Мои вопросы

  • вы запустить эти два в сочетании , если так, как вы это делаете?
  • Если вы не используете их вместе, есть ли у вас рекомендации по хорошему подходу ?
  • Есть ли какая-либо документация или хорошая отправная точка, которую я мог бы использовать для создания плагина базара?
  • Я идиот для попытки использовать CruiseControl.Net? Должен ли я использовать что-то еще?
+0

я нашел другое место, где плагин доступен: https://code.launchpad.net/~sandy-dunlop/bazaar-ccnet/trunk но компилятор не удалось под VS.NET 2010 , поэтому я исправил исходный код. – TridenT

+0

... (для продолжения) Я пробовал внутри CC.NET, и он отлично работает! Я могу отправить кому-либо DLL, если потребуется. – TridenT

ответ

5

Я бы написал свой собственный плагин, если бы был вами. Вы найдете в настоящее время исходные элементы управления в проекте/core/sourcecontrol в репозитории CC.NET. Есть несколько вещей, которые вам нужны. Один из них - основной класс, который будет наследовать от ProcessSourceControl и должен основываться на текущих провайдерах управления версиями. Этот начальный класс будет реализовывать такие вещи, как GetModifications, LabelSourceControl и GetSource. Затем вам понадобится несколько вспомогательных классов, которые являются классом historyparser и классом urlbuilder. Они специфичны для каждого поставщика управления источниками и позаботятся о разборке возвращаемых данных из команды getHistory или того, что у вас есть. И поместить все необходимые части в объекты модификации. Конструктор URL-адресов принимает информацию об объектах модификации и создает URL-адреса, которые будут вызывать конкретную проверку в вашем веб-браузере, если ваш источник поддерживает это. Это действительно должно быть довольно легко для вас, это одна из лучших частей CC.NET, поскольку все, что они не предоставляют, вы можете легко написать. Я не знаю никаких других непрерывных интеграций, которые поддерживают Bazaar, поэтому вам может быть лучше оставаться с CC.NET из-за его возможностей настройки.

+0

Действительно хороший ответ - определенно стоит очков. Я реализовал обходной путь, когда проверка на базаре работает как рабочие места exec, поэтому я не знаю, смогу ли я перейти к реализации кода CC Net ... –

+0

@Alex, относительно другой поддержки CI для базара: Hudson утверждает, что поддерживает базар. Мы находимся в разгаре, но не уверены, на какой стадии сейчас. –

0

Я мало знаю о Базаре, но я знаю, что немного круиз-контроль. Если у Bazaar есть интерфейс командной строки, вы можете написать сценарий MSBuild, который будет подключаться к нему, а затем, в свою очередь, подключиться к CCNet.

Я не смотрел слишком много в плагинах CCNet, но я бы предположил, что они всего лишь обертки вокруг интерфейса командной строки программы.

+0

Извините, Burt, но вы не ответили ни на один из моих вопросов. –