Что такое непрерывная интеграция (Continuous Integration)?
Непрерывная интеграция (англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной. Она может непредсказуемо задержать окончание работ. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.
Наиболее популярные инструменты:
- CruiseControl — сервер интеграции для Java (см. так же CruiseControl).
- ThoughtWorks Cruise — коммерческий сервер интеграции от компании ThoughtWorks (есть бесплатная версия).
- CruiseControl.NET — сервер интеграции для .NET (см. так же CruiseControl.NET)
- CruiseControl.rb — сервер интеграции для Ruby.
- Hudson — open-source сервер интеграции, создан как альтернатива CruiseControl. Функциональность расширяется плагинами.
- Bitten — open-source сервер интеграции написанный на Python, интегрируется с Trac.
- TeamCity — коммерческий сервер интеграции от компаниии JetBrains для java и .NET (есть бесплатная версия).
Для того чтобы сделать нужный выбор сервера непрерывной интеграции, можно вопользоваться очень хорошей таблицей сравнения данных серверов
Также можно посмотреть mind карты:
- http://www.viewtier.com/images/continuous_integration_memory_map.gif
- http://blogs.imeta.co.uk/images/blogs_imeta_co_uk/CSkipper/WindowsLiveWriter/SouthUKScrumUserGroupWessex22ndJune2009_82F7/Continuous_Integration_2.jpg