AgileCamp’11 Новосибирск - Continuous Integration (CI)
-
Upload
katkov-anton -
Category
Documents
-
view
1.031 -
download
1
description
Transcript of AgileCamp’11 Новосибирск - Continuous Integration (CI)
Continuous Integration
Anton Katkov
Типичные сценарии
• Разработчик закомитил бажный код в репозиторий кода и ушёл домой.
• Разработчик закомитил бажный код в репозиторий и проблема была обнаружена во время Nightly Build.
Continuous Integration
... is a software development practice where members of a team integrate their work frequently. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.
http://martinfowler.com/articles/continuousIntegration.htmlMartin Fowler
Вопрос
• Как CI работает на практике?
Каковы ценности CI
• Уменьшает риски• Уменьшает число рутинных действий• Создаёт готовое для использования
приложение • Делает проект более прозрачным• Поддерживает другие инженерные
практики
Риски разработки
• Позднее исправление багов дорого• Отсутствие единства в команде• Низкое качество кода• Непрозрачность проекта• Отсутствие готового к использования
приложения
CI уменьшает риски
• Тестирование проходит регулярно• Процесс сборки становиться простой• Обнаруживаем проблемы раньше• Уменьшаем количество «предположений»
Почему обычно не делаем CI?
• Нет ресурсов на его поддержку• Слишком много надо поменять в
существующем процессе• Слишком много билдов проваливается• Дополнительные затраты на железо и софт• Всё равно надо делать сборку руками
Некоторые практики CI
• Автоматизируйте сборку• Включите тесты в процесс сборки• Делайте сборку на каждое изменений в репозитории
кода• Сохраняйте процесс сборки быстрым• Тестируйте в копии реального (production) окружения• Сделайте итоговые сборки легко доступными для всех• Покажите всем, что происходит – публичность• Автоматизируйте разворачивание приложения
Особенно важно
• Автоматизируйте всё, что можно автоматизировать
ВЫБОР CI СЕРВЕРА
Существующие решения
Критерии
• Надёжный• Подходит для ваших инструментов и
технологий• Легко настраивается и поддерживается• Просто пользовательский интерфейс• Содержит необходимые функции
SONAR
Метрики
Инспекции