Непрерывная интеграция - шаг к непрерывному деплойменту


The Presentation inside:

Slide 0

Непрерывная интеграция - шаг к непрерывному деплойменту Drupal expert [email protected] Игорь Родионов


Slide 1

Родионов Игорь Cooking Drupal ~ 5 years ~ 14 projects ~ 60 patches ~16 approved


Slide 2

Родионов Игорь Cooking Drupal ~ 5 years ~ 14 projects ~ 60 patches ~16 approved


Slide 3

Проект на Drupal


Slide 4

Проект на Drupal


Slide 5

Проект на Drupal


Slide 6

Почему так? список модулей в БД настройки в БД структура данных в БД сущности в БД workflow в БД php код в БД самодокументация 1001 способ говнокода


Slide 7

Клуб анонимных друпалеров Как мы будем работать с БД?


Slide 8

Клуб анонимных друпалеров “А можем мы обновить ядро?”


Slide 9

Клуб анонимных друпалеров откуда я то знаю?


Slide 10

Клуб анонимных друпалеров


Slide 11

Клуб анонимных друпалеров


Slide 12

Клуб анонимных друпалеров Возми проект под контроль!


Slide 13

Непрерывная интеграция Build (сборка) Inspection (инспекция) Test (тестирование) Deploy / Artifact (выкладка/получение артифакта)


Slide 14

Непрерывная интеграция Избавится от рутины Регрессионное тестирование Быстрая обратная связь Уверенность в проекте Часты релизы


Slide 15

Непрерывная интеграция


Slide 16

Deploy


Slide 17

Deploy


Slide 18

Инспекция


Slide 19

Инспекция – Copy - Paste PHPCPD pear install phpunit/phpcpd


Slide 20

Инспекция - Mess phplint icosaedro.it/phplint


Slide 21

Инспекция - Mess PHPMD phpmd.org ______________________________ Code Size Rules Design Rules Naming Rules Unused Code Rules


Slide 22

Инспекция – Code Style Code Sniffer pear install PHP_CodeSniffer Drupal Code Sniffer drupal.org/project/drupalcs


Slide 23

Тестирование


Slide 24

Тестирование Selenium + Unit testing framework + Functional тестирование - Unit тестирование + Поддержка Java Script - Доступ к API Drupal - Атомарность тестов - Хрупкость тестов - Запуск тестов паралельно - Производительность тестов


Slide 25

Тестирование Simpletest/Simpletest clone + Functional тестирование + Unit тестирование - Поддержка Java Script + Доступ к API Drupal + Атомарность тестов + Хрупкость тестов + Запуск тестов паралельно + Производительность тестов


Slide 26

Тестирование Simpletest/Simpletest clone/Selenium + Functional тестирование + Unit тестирование + Поддержка Java Script + Доступ к API Drupal + Атомарность тестов + Хрупкость тестов + Запуск тестов паралельно + Производительность тестов


Slide 27

Сборка


Slide 28

Сборка


Slide 29

Сборка Contribute Custom Forked


Slide 30

Сборка Contribute Custom Forked Patches


Slide 31

Сборка Drush make projects[admin_menu][version] = "3.0-rc1" projects[admin_menu][subdir] = "contrib/dev" projects[admin_menu][patch][] = "patches/admin_menu_font.patch"


Slide 32

Сборка Drush make Корпоративные репозитории модулей Хакайте ядро и модули Возвращайте патчи в сообщество


Slide 33

Сборка Не храните


Slide 34

Сборка


Slide 35

Сборка - phing $ phing make $ phing install $ phing update $ phing test $ phing inspect $ phing create $ phing phpcs etc ...


Slide 36

Итого Контроль над проектом Уменьшили время релиза Уменьшили риски Накопление “технического опыта” Гибкость интеграции стороннего кода 75% разработчиков счастливы


Slide 37

Спасибо - друзьям Родионову Алексею Мироненко Максиму Тищенко Максиму Королькову Александру


Slide 38

Спасибо за внимание Вопросы? Drupal expert [email protected] Игорь Родионов


×

HTML:





Ссылка: