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