Оглавление
Непрерывная интеграция
-
Определение и история CI
- CI – это процесс непрерывной интеграции программного обеспечения, который включает в себя автоматическую сборку, тестирование и развертывание.
- CI был впервые описан в 1990-х годах, но получил широкое распространение в 2010-х годах.
- В 1998 году Бек опубликовал статью о важности личного общения, а не только технологической поддержки.
- CruiseControl, первый инструмент CI с открытым исходным кодом, был выпущен в 2001 году.
-
Практика CI
- Разработчики часто совместно размещают изменения кода в общей области интеграции и проверяют правильность интегрированной кодовой базы.
- Первая часть обычно включает объединение изменений в общую ветвь управления версиями.
- Вторая часть включает автоматизированные процессы, такие как сборка, тестирование и многие другие.
- Сервер часто создается из области интеграции и выполняет проверки качества, такие как модульные тесты.
-
Связанные практики
- Автоматизация сборки считается оптимальной практикой.
- Атомарные коммиты требуют, чтобы система контроля версий поддерживала атомарные фиксации.
- Рекомендуется частое совершение коммитов для уменьшения конфликтов.
- Ежедневная сборка и автоматизация развертывания часто используются для ускорения процесса разработки.
-
Преимущества и риски CI
- CI облегчает раннее обнаружение ошибок и уменьшает усилия по поиску причин ошибок.
- Частая доступность хорошей сборки способствует тестированию, демонстрации и выпуску.
- Однако настройка системы сборки и поддержка автоматизированных тестов требуют определенных усилий.
- Высокая задержка сборки и неполный код могут ограничивать значение CI.
-
Сравнение с другими процессами разработки
- CI отличается от непрерывного проектирования, тестирования и многоступенчатой непрерывной интеграции.
- Быстрая разработка приложений и концепция разработки программного обеспечения также связаны с CI.