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

Содержание

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

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

Drupal expert
rodionov.ig@gmail.com
Игорь Родионов


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



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



Слайд 4Проект на Drupal





Слайд 5Проект на Drupal





Слайд 6Проект на Drupal





Слайд 7Почему так?
список модулей в БД
настройки в БД
структура данных в БД
сущности в

БД
workflow в БД
php код в БД
самодокументация
1001 способ говнокода

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


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


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


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


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


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


Слайд 14Непрерывная интеграция

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


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


Слайд 16Непрерывная интеграция


Слайд 19Инспекция


Слайд 20Инспекция – Copy - Paste

PHPCPD

pear install phpunit/phpcpd


Слайд 21Инспекция - Mess


phplint

icosaedro.it/phplint


Слайд 22Инспекция - 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


Слайд 24Тестирование


Слайд 25Тестирование

Selenium + Unit testing framework

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

Script
- Доступ к API Drupal
- Атомарность тестов
- Хрупкость тестов
- Запуск тестов паралельно
- Производительность тестов

Слайд 26Тестирование

Simpletest/Simpletest clone

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

API Drupal
+ Атомарность тестов
+ Хрупкость тестов
+ Запуск тестов паралельно
+ Производительность тестов

Слайд 27Тестирование

Simpletest/Simpletest clone/Selenium

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

API Drupal
+ Атомарность тестов
+ Хрупкость тестов
+ Запуск тестов паралельно
+ Производительность тестов

Слайд 28Сборка





Слайд 29Сборка





Слайд 30Сборка
Contribute
Custom
Forked


Слайд 31Сборка
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"


Слайд 33Сборка
Drush make

Корпоративные репозитории модулей

Хакайте ядро и модули

Возвращайте патчи в сообщество


Слайд 34Сборка

Не храните


Слайд 35Сборка



Слайд 36Сборка - phing
$ phing make
$ phing install
$ phing update
$ phing test
$

phing inspect
$ phing create
$ phing phpcs
etc ...

Слайд 37Итого

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

разработчиков счастливы


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




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


Слайд 39Спасибо за внимание Вопросы?

Drupal expert
rodionov.ig@gmail.com
Игорь Родионов


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика