Непрерывная интеграция - шаг к непрерывному деплойменту Drupal expert Игорь Родионов
Родионов Игорь Cooking Drupal ~ 5 years ~ 14 projects ~ 60 patches ~16 approved
Родионов Игорь Cooking Drupal ~ 5 years ~ 14 projects ~ 60 patches ~16 approved
Проект на Drupal
Почему так? список модулей в БД настройки в БД структура данных в БД сущности в БД workflow в БД php код в БД самодокументация 1001 способ говнокода
Клуб анонимных друпалеров Как мы будем работать с БД?
Клуб анонимных друпалеров А можем мы обновить ядро?
Клуб анонимных друпалеров откуда я то знаю?
Клуб анонимных друпалеров
Возми проект под контроль!
Непрерывная интеграция Build (сборка) Inspection (инспекция) Test (тестирование) Deploy / Artifact (выкладка/получение артифакта)
Непрерывная интеграция Избавится от рутины Регрессионное тестирование Быстрая обратная связь Уверенность в проекте Часты релизы
Непрерывная интеграция
Deploy
CodeRun SVN GIT CVS Mercurial FTP SFTP Bash Manual Bash SSH VCS Hooks Cron Capistrano Phingistrano
Инспекция
Инспекция – Copy - Paste PHPCPD pear install phpunit/phpcpd
Инспекция - Mess phplint icosaedro.it/phplint
Инспекция - Mess PHPMD phpmd.org ______________________________ Code Size Rules Design Rules Naming Rules Unused Code Rules
Инспекция – Code Style Code Sniffer pear install PHP_CodeSniffer Drupal Code Sniffer drupal.org/project/drupalcs
Тестирование
Selenium + Unit testing framework + Functional тестирование - Unit тестирование + Поддержка Java Script - Доступ к API Drupal - Атомарность тестов - Хрупкость тестов - Запуск тестов паралельно - Производительность тестов
Тестирование Simpletest/Simpletest clone + Functional тестирование + Unit тестирование - Поддержка Java Script + Доступ к API Drupal + Атомарность тестов + Хрупкость тестов + Запуск тестов паралельно + Производительность тестов
Тестирование Simpletest/Simpletest clone/Selenium + Functional тестирование + Unit тестирование + Поддержка Java Script + Доступ к API Drupal + Атомарность тестов + Хрупкость тестов + Запуск тестов паралельно + Производительность тестов
Сборка
Contribute Custom Forked
Сборка Contribute Custom Forked Patches
Сборка Drush make projects[admin_menu][version] = "3.0-rc1" projects[admin_menu][subdir] = "contrib/dev" projects[admin_menu][patch][] = "patches/admin_menu_font.patch"
Сборка Drush make Корпоративные репозитории модулей Хакайте ядро и модули Возвращайте патчи в сообщество
Сборка Не храните
Сборка Модули Drush migrate Cущности Features Ctools default hooks Настройки Strongarm Ctools Features Контент Uuid Uuid features Features
Сборка - phing $ phing make $ phing install $ phing update $ phing test $ phing inspect $ phing create $ phing phpcs etc...
Итого Контроль над проектом Уменьшили время релиза Уменьшили риски Накопление технического опыта Гибкость интеграции стороннего кода 75% разработчиков счастливы
Спасибо - друзьям Родионову Алексею Мироненко Максиму Тищенко Максиму Королькову Александру
Спасибо за внимание Вопросы? Drupal expert Игорь Родионов