2010-10-29 1 views
0

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

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

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

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

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

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

ответ

1

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

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

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

1

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

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

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

Смежные вопросы