Continuous Integration for PHP projects - Theory by Alex Simanovich
-
Upload
php-user-group-minsk -
Category
Technology
-
view
421 -
download
0
description
Transcript of Continuous Integration for PHP projects - Theory by Alex Simanovich
![Page 1: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/1.jpg)
Непрерывная интеграция:Теория
Continuous Integration for PHP projects
![Page 2: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/2.jpg)
Введение в непрерывную интеграцию
![Page 3: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/3.jpg)
Потенциальные риски и проблемы
Долгий процесс интеграции Актуальность базы данных Стандарты кодирования Copy/Pasting Сложность кода Новый человек в проекте
![Page 4: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/4.jpg)
Цели CI
Уменьшение количества повторяемых процессов
Снижение рисков Возможность быстрого
построения ПО Обеспечение лучшего контроля
проекта Повышение доверия к ПО
![Page 5: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/5.jpg)
Процессы CI
Компиляция исходного кода Проверка Инспекция Интеграция базы данных Развертывание Документирование Обратная связь
![Page 6: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/6.jpg)
Build для PHP
Очистка окружения Загружаем код из репозитория Запуск тестов, анализ кода Генерация документации (API) Подключение библиотек и
фреймворка Развертывание приложения и
базы данных
![Page 7: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/7.jpg)
Сервер непрерывной интеграции
![Page 8: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/8.jpg)
Непрерывная проверка
![Page 9: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/9.jpg)
Непрерывная инспекция
![Page 10: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/10.jpg)
Интеграция БД
![Page 11: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/11.jpg)
Непрерывное развертывание
![Page 12: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/12.jpg)
CI Jobs
![Page 13: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/13.jpg)
Непрерывная обратная связь
![Page 14: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/14.jpg)
Результат по целям CI
Уменьшение количества повторяемых процессов
Снижение рисков Возможность быстрого
построения ПО Обеспечение лучшего контроля
проекта Повышение доверия к ПО
![Page 15: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/15.jpg)
Результат по рискам
Долгий процесс интеграции Актуальность базы данных Стандарты кодирования Copy/Pasting Сложность кода Новый человек в проекте
![Page 16: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/16.jpg)
Рекомендации
Передавайте код часто Ликвидируйте проблемы
незамедлительно Пишите автоматизированные
проверки Все проверки должны быть
пройдены Выполняйте закрытое построение
![Page 17: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/17.jpg)
Человеческий фактор
![Page 18: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/18.jpg)
Легенды и мифы
Затраты на поддержку CI Изменения процессов Слишком много неудачных
построений Издержки на ПО и «железо»
![Page 19: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/19.jpg)
Культура и Инструменты
Инструменты не решат ваши проблемы
Вам нужна культура!
![Page 20: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/20.jpg)
Ресурсы и литература
• Непрерывная Интеграция – Поль М. Дюваль
• Integrating PHP Projects with Jenkins – Sebastian Bergmann
• Growing Object-Oriented Software, Guided by Tests – Steve Freeman, Net Price
![Page 21: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/21.jpg)
Контакты
• Email: [email protected]• Skype: aliaksandr.simanovich• Twitter: @simanjan• Blog: simanovich.info
![Page 22: Continuous Integration for PHP projects - Theory by Alex Simanovich](https://reader036.fdocuments.us/reader036/viewer/2022062704/55625475d8b42a1b4b8b5021/html5/thumbnails/22.jpg)
Вопросы