Непрерывная интеграция шаг к непрерывному деплою....
DESCRIPTION
TRANSCRIPT
![Page 1: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/1.jpg)
Непрерывная интеграция - шаг к непрерывному деплойменту
Drupal expert
Игорь Родионов
![Page 2: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/2.jpg)
Спонсоры
Генеральный спонсор
Серебряный спонсор Серебряный спонсор
Бронзовый спонсор Бронзовый спонсор
Организатор
![Page 3: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/3.jpg)
Родионов Игорь
Cooking Drupal
~ 5 years~ 14 projects~ 60 patches
~16 approved
![Page 4: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/4.jpg)
Проект на Drupal
![Page 5: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/5.jpg)
Проект на Drupal
![Page 6: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/6.jpg)
Проект на Drupal
![Page 7: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/7.jpg)
Почему так?
![Page 8: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/8.jpg)
Клуб анонимных друпалеров
Как мы будем работать с БД?
![Page 9: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/9.jpg)
Клуб анонимных друпалеров
“А можем мы обновить ядро?”
![Page 10: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/10.jpg)
Клуб анонимных друпалеров
![Page 11: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/11.jpg)
Клуб анонимных друпалеров
![Page 12: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/12.jpg)
Клуб анонимных друпалеров
Возми проект под контроль!
![Page 13: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/13.jpg)
Непрерывная интеграция
• Build (сборка)• Inspection (инспекция)• Test (тестирование)• Deploy / Artifact
(выкладка/получение артифакта)
![Page 14: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/14.jpg)
Непрерывная интеграция
• Избавится от рутины• Регрессионное тестирование• Быстрая обратная связь• Уверенность в проекте• Часты релизы
![Page 15: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/15.jpg)
Непрерывная интеграция
![Page 16: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/16.jpg)
Deploy
![Page 17: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/17.jpg)
Deploy
Code RunSVNGITCVS MercurialFTPSFTP
Bash ManualBash SSHVCS Hooks CronCapistrano Phingistrano
![Page 18: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/18.jpg)
Инспекция
![Page 19: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/19.jpg)
Инспекция – Copy - Paste
PHPCPD
pear install phpunit/phpcpd
![Page 20: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/20.jpg)
Инспекция - Mess
phplint
icosaedro.it/phplint
![Page 21: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/21.jpg)
Инспекция - Mess
PHPMDphpmd.org
______________________________
Code Size Rules
Design Rules
Naming Rules
Unused Code Rules
![Page 22: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/22.jpg)
Инспекция – Code Style
Code Sniffer
pear install PHP_CodeSniffer
Drupal Code Sniffer
drupal.org/project/drupalcs
![Page 23: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/23.jpg)
Тестирование
![Page 24: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/24.jpg)
Тестирование
Selenium + Unit testing framework
+ Functional тестирование
- Unit тестирование
+ Поддержка Java Script
- Доступ к API Drupal
- Атомарность тестов
- Хрупкость тестов
- Запуск тестов паралельно
- Производительность тестов
![Page 25: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/25.jpg)
Тестирование
Simpletest/Simpletest clone
+ Functional тестирование
+ Unit тестирование
- Поддержка Java Script
+ Доступ к API Drupal
+ Атомарность тестов
+ Хрупкость тестов
+ Запуск тестов паралельно
+ Производительность тестов
![Page 26: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/26.jpg)
Тестирование
Simpletest/Simpletest clone/Selenium
+ Functional тестирование
+ Unit тестирование
+ Поддержка Java Script
+ Доступ к API Drupal
+ Атомарность тестов
+ Хрупкость тестов
+ Запуск тестов паралельно
+ Производительность тестов
![Page 27: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/27.jpg)
Сборка
![Page 28: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/28.jpg)
Сборка
![Page 29: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/29.jpg)
Сборка
•Contribute•Custom•Forked
![Page 30: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/30.jpg)
Сборка
•Contribute•Custom•Forked Patches
![Page 31: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/31.jpg)
Сборка
Drush make
projects[admin_menu][version] = "3.0-rc1"
projects[admin_menu][subdir] = "contrib/dev"
projects[admin_menu][patch][] = "patches/admin_menu_font.patch"
![Page 32: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/32.jpg)
Сборка
• Drush make
• Корпоративные репозитории модулей
• Хакайте ядро и модули
• Возвращайте патчи в сообщество
![Page 33: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/33.jpg)
Сборка
Не храните
![Page 34: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/34.jpg)
Сборка
Модули Drush migrate
CущностиFeatures
Ctoolsdefault hooks
НастройкиStrongarm
CtoolsFeatures
КонтентUuid
Uuid featuresFeatures
![Page 35: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/35.jpg)
Сборка - phing
• $ phing make
• $ phing install
• $ phing update
• $ phing test
• $ phing inspect
• $ phing create
• $ phing phpcsetc ...
![Page 36: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/36.jpg)
Итого
• Контроль над проектом• Уменьшили время релиза• Уменьшили риски• Накопление “технического опыта”• Гибкость интеграции стороннего кода• 75% разработчиков счастливы
![Page 37: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/37.jpg)
Спасибо - друзьям
Родионову Алексею Мироненко Максиму
Тищенко МаксимуКоролькову Александру
![Page 39: Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь](https://reader033.vdocuments.pub/reader033/viewer/2022061212/5495ed8db479595f5e8b4c06/html5/thumbnails/39.jpg)
Спонсоры
Генеральный спонсор
Серебряный спонсор Серебряный спонсор
Бронзовый спонсор Бронзовый спонсор
Организатор