9. Уменьшение количества повторяемых
процессов
Снижение рисков
Возможность быстрого построения ПО
Обеспечение лучшего контроля проекта
Повышение доверия к ПО
10. Компиляция исходного кода
Проверка
Инспекция
Интеграция базы данных
Развертывание
Документирование
Обратная связь
11.
12.
13. Очистка окружения
Загружаем код из репозитория
Запуск тестов, анализ кода
Генерация документации (API)
Подключение библиотек и фреймворка
Развертывание приложения и базы данных
14. Сделан для PHP, написан на PHP
XML build файлы
Кросс платформенный
Большой выбор готовых тасков
Расширяемый
35. В любое время, в любом месте
Маркируем каждое построение
Запускаем все проверки
Обеспечиваем возможность отката
36.
37.
38. Состояние построения
Результаты проверки
Отчеты об инспекции
39.
40. Email Popup
SMS IDE
Jabber X10
Skype Телевизор
Twitter Звук
Расширение для Шар рассеянного
браузера света
41. Когда случается проблема
Каждый час
Каждый день
Каждую неделю
Каждый релиз
42. Заказчик
Руководитель проекта
Интегратор
Технический руководитель
Бизнес-аналитик
Разработчик
Тестеровщик
43. On commit
По коммиту
Информация команде
Выполняется быстро
Nightly
Раз в день, ночью
Информация команде, тех. лиду, менеджеру
Выполняется долго (инспекция)
44.
45. Уменьшение количества повторяемых
процессов
Снижение рисков
Возможность быстрого построения ПО
Обеспечение лучшего контроля проекта
Повышение доверия к ПО
46. Долгий процесс интеграции
Актуальность базы данных
Стандарты кодирования
Copy/Pasting
Сложность кода
Новый человек в проекте
47. Передавайте код часто
Ликвидируйте проблемы
незамедлительно
Пишите автоматизированные проверки
Все проверки должны быть пройдены
Выполняйте закрытое построение
48.
49. Затраты на поддержку CI
Изменения процессов
Слишком много неудачных построений
Издержки на ПО и «железо»
53. • Непрерывная Интеграция – Поль М. Дюваль
• Integrating PHP Projects with Jenkins – Sebastian
Bergmann
• Growing Object-Oriented Software, Guided by Tests
– Steve Freeman, Net Price