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

Содержание

Слайд 2

Родионов Игорь

Cooking Drupal
~ 5 years
~ 14 projects
~ 60 patches
~16 approved

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

Слайд 3

Родионов Игорь

Cooking Drupal
~ 5 years
~ 14 projects
~ 60 patches
~16 approved

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

Слайд 4

Проект на Drupal

Проект на Drupal

Слайд 5

Проект на Drupal

Проект на Drupal

Слайд 6

Проект на Drupal

Проект на Drupal

Слайд 7

Почему так?

список модулей в БД
настройки в БД
структура данных в БД
сущности в БД
workflow

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

Слайд 8

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

Как мы будем работать с БД?

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

Слайд 9

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

“А можем мы обновить ядро?”

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

Слайд 10

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

откуда я то знаю?

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

Слайд 11

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

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

Слайд 12

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

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

Слайд 13

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

Возми проект под контроль!

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

Слайд 14

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

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

Слайд 15

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

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

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

Слайд 16

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

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

Слайд 19

Инспекция

Инспекция

Слайд 20

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

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

Слайд 21

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

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

Слайд 22

Инспекция - Mess

PHPMD
phpmd.org
______________________________
Code Size Rules
Design Rules
Naming Rules
Unused Code Rules

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

Слайд 23

Инспекция – Code Style

Code Sniffer
pear install PHP_CodeSniffer
Drupal Code Sniffer
drupal.org/project/drupalcs

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

Слайд 24

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

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

Слайд 25

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

Selenium + Unit testing framework
+ Functional тестирование
- Unit тестирование
+ Поддержка Java Script
-

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

Слайд 26

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

Simpletest/Simpletest clone
+ Functional тестирование
+ Unit тестирование
- Поддержка Java Script
+ Доступ к API

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

Слайд 27

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

Simpletest/Simpletest clone/Selenium
+ Functional тестирование
+ Unit тестирование
+ Поддержка Java Script
+ Доступ к API

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

Слайд 28

Сборка

Сборка

Слайд 29

Сборка

Сборка

Слайд 30

Сборка

Contribute
Custom
Forked

Сборка Contribute Custom Forked

Слайд 31

Сборка

Contribute
Custom
Forked Patches

Сборка Contribute Custom Forked Patches

Слайд 32

Сборка

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 projects[admin_menu][version] = "3.0-rc1" projects[admin_menu][subdir] = "contrib/dev" projects[admin_menu][patch][] = "patches/admin_menu_font.patch"

Слайд 33

Сборка

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

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

Слайд 34

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

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

Слайд 35

Сборка

Сборка

Слайд 36

Сборка - phing

$ phing make
$ phing install
$ phing update
$ phing test
$ phing

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

Слайд 37

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

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

Слайд 38

Спасибо - друзьям

Родионову Алексею
Мироненко Максиму
Тищенко Максиму
Королькову Александру

Спасибо - друзьям Родионову Алексею Мироненко Максиму Тищенко Максиму Королькову Александру
Имя файла: Непрерывная-интеграция---шаг-к-непрерывному-деплойменту.pptx
Количество просмотров: 125
Количество скачиваний: 0