Нужен ли CI-сервер CI? - PullRequest
       13

Нужен ли CI-сервер CI?

4 голосов
/ 25 апреля 2009

Требуется ли CI-сервер для непрерывной интеграции?

Ответы [ 5 ]

8 голосов
/ 25 апреля 2009

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

3 голосов
/ 25 апреля 2009

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

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

2 голосов
/ 28 апреля 2009

Прежде чем я услышал термин «непрерывная интеграция» (это было в 2002 или 2003 году), я написал сценарий ночной сборки, который подключался к cvs, взял чистую копию основного проекта и пяти меньших подпроектов, собрал все jar-файлы через ant, затем собрал и повторно развернул WAR-файл с помощью второго ant-скрипта, который использовал задачи ant tomcat.

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

Работало нормально, но я бы предпочел hudson, а не bash, cron и ant.

2 голосов
/ 25 апреля 2009

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

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

Вы также можете избежать использования выделенного оборудования , используя виртуальную машину. Лучше всего найти сервер, который делает что-то еще, но не загружен, и установить на него виртуальную машину.

1 голос
/ 25 апреля 2009

Отдельная машина действительно необходима, если у вас есть более одного разработчика в проекте.

Если вы используете стек технологий .NET, вот несколько указателей:

  1. CruiseControl.Net довольно легкий. Это то, что мы используем. Вы, вероятно, могли бы запустить его на своей машине разработки без особых проблем.
  2. Вам не нужно устанавливать или запускать Visual Studio, если у вас нет проектов установки Visual Studio. Вместо этого вы можете использовать бесплатный инструмент для построения командной строки под названием MSBuild .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...