Что может сделать CruiseControl .net (или любой сервер CI), чего не могут MSBuild или NAnt? - PullRequest
2 голосов
/ 23 июня 2010

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

Это только потому, что он "слушает" изменения, происходящие в репозитории контроля версий?что еще мне не хватает?

Ответы [ 3 ]

6 голосов
/ 23 июня 2010

Гжегож Оледзки (Grzegorz Oledzki) связал хороший ресурс для поиска различий между решениями с несколькими CI, но следует отметить, что целью MSBuild является специальное преобразование кода в двоичный код, который используется программным обеспечением CI для создания исходного кода. Это правда, что он может делать другие вещи, но большинство его задач тесно связаны с этим царством.

В дополнение к тому, что вы упомянули о прослушивании репо, некоторые CI-серверы могут делать все что угодно, например ^ 1:

  • многоагентное построение (не только многоядерный, msbuild может это сделать, но многокомпонентное)
  • мониторинг состояния сборки
  • уведомлений (e-mail / sms / rss / whatnot)
  • назначение вины за испорченные сборки
  • административные функции
  • поддержка XFD (устройства экстремальной обратной связи)
  • автоматизированное развертывание

И вообще все из удобного интерфейса.

1 Не все программное обеспечение CI будет иметь все эти функции, оно ни в коем случае не является исчерпывающим и имеет некоторое перекрытие.

2 голосов
/ 23 июня 2010

Полагаю, что матрица функций CI (Continuous Integration) ответит на все ваши вопросы о конкретных поставщиках CI и их возможностях.

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

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

Я настоятельно рекомендую использовать сервер CI, но я предпочитаю хранить всю логику сборки в файле MSBuild и всех, кого нужно уведомлять о сбое и т. Д. На сервере CI. Сохранение логики в файле сборки поможет вам воспроизвести сборку на своем компьютере и упростить настройку новых проектов на сервере CI или изменить способ сборки проекта сервером CI

...