Непрерывная интеграция:Теория
Continuous Integration for PHP projects
Введение в непрерывную интеграцию
Потенциальные риски и проблемы
Долгий процесс интеграции Актуальность базы данных Стандарты кодирования Copy/Pasting Сложность кода Новый человек в проекте
Цели CI
Уменьшение количества повторяемых процессов
Снижение рисков Возможность быстрого
построения ПО Обеспечение лучшего контроля
проекта Повышение доверия к ПО
Процессы CI
Компиляция исходного кода Проверка Инспекция Интеграция базы данных Развертывание Документирование Обратная связь
Build для PHP
Очистка окружения Загружаем код из репозитория Запуск тестов, анализ кода Генерация документации (API) Подключение библиотек и
фреймворка Развертывание приложения и
базы данных
Сервер непрерывной интеграции
Непрерывная проверка
Непрерывная инспекция
Интеграция БД
Непрерывное развертывание
CI Jobs
Непрерывная обратная связь
Результат по целям CI
Уменьшение количества повторяемых процессов
Снижение рисков Возможность быстрого
построения ПО Обеспечение лучшего контроля
проекта Повышение доверия к ПО
Результат по рискам
Долгий процесс интеграции Актуальность базы данных Стандарты кодирования Copy/Pasting Сложность кода Новый человек в проекте
Рекомендации
Передавайте код часто Ликвидируйте проблемы
незамедлительно Пишите автоматизированные
проверки Все проверки должны быть
пройдены Выполняйте закрытое построение
Человеческий фактор
Легенды и мифы
Затраты на поддержку CI Изменения процессов Слишком много неудачных
построений Издержки на ПО и «железо»
Культура и Инструменты
Инструменты не решат ваши проблемы
Вам нужна культура!
Ресурсы и литература
• Непрерывная Интеграция – Поль М. Дюваль
• Integrating PHP Projects with Jenkins – Sebastian Bergmann
• Growing Object-Oriented Software, Guided by Tests – Steve Freeman, Net Price
Контакты
• Email: [email protected]• Skype: aliaksandr.simanovich• Twitter: @simanjan• Blog: simanovich.info
Вопросы