Преимущества КИ для высокомодульных проектов - PullRequest
0 голосов
/ 30 октября 2010

Было некоторое обсуждение отказа от нашей системы CI (Hudson FWIW) из-за того, что наши проекты несколько сегментированы.Не раскрывая слишком много информации, вы можете рассматривать каждый проект как похожий на проект веб-сайта: он имеет зависимости, свои собственные модульные тесты и т. Д.

Кажется, что одним из основных преимуществ CI является обеспечениечто каждый компонент проекта работает вместе, но, кроме наследования проектов, большинство наших проектов автономны и достаточно хорошо протестированы.

Учитывая то, что я объяснил здесь (странность в нашей проектной организации);Кто-нибудь может объяснить какие-либо преимущества CI для сегментированных \ модульных \ многих проектов?

Насколько я могу судить, это единственная причина, которую я нашел:

«Ошибкитакже кумулятивны.Чем больше у вас ошибок, тем сложнее их удалить.Отчасти это происходит из-за того, что вы получаете сообщения об ошибках, в которых ошибки отображаются как результат нескольких ошибок, что затрудняет поиск каждой ошибки.Это также психологически - у людей меньше энергии, чтобы находить и избавляться от ошибок, когда их много, - это явление, которое прагматичные программисты называют синдромом разбитой Windows ».

Отсюда: http://martinfowler.com/articles/continuousIntegration.html#BenefitsOfContinuousIntegration

Ответы [ 2 ]

1 голос
/ 30 октября 2010

Я бы использовал Hudson по следующим причинам:

  • Обеспечение правильной сборки / компиляции ваших проектов.
  • Создание рабочих мест в зависимости от успешности сборки других рабочих мест.
  • Обеспечение соответствия вашего кода согласованным стандартам кодирования.
  • Запуск юнит-тестов.
  • Уведомление команды разработчиков о любых найденных проблемах.

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

1 голос
/ 30 октября 2010

В вашей ситуации вы можете извлечь выгоду из КИ (по крайней мере) двумя способами:

  • Вы можете разрешить серверу CI автоматически запускать определенные тестовые наборы большего размера после каждой проверки / ... subversion. Особенно те, которые проверяют взаимодействие различных модулей, отсюда и название непрерывная интеграция . Это отнимает у обслуживающего персонала работу и время ожидания, когда они рассматривают возможность регистрации. Некоторые CI (например, Hudson) также можно настроить для автоматической сборки модулей при сборке зависимого модуля. Таким образом, вы можете автоматически проверить, совместимы ли различные модули с новой версией измененной.

  • Вы можете разрешить серверу CI публиковать новые артефакты в хранилище средства разрешения зависимостей (например, Ivy, Maven). Таким образом, различные модули могут автоматически загружать последние (стабильные) версии модулей, от которых они зависят. Объедините этот пункт с предыдущим и представьте возможности (!!!).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...