Непрерывная интеграция - шаг к непрерывному деплойменту Drupal expert rodionov.ig@gmail.com Игорь Родионов.

Презентация:



Advertisements
Похожие презентации
Continuous Integration с нуля (Jenkins+Git+Selenium)
Advertisements

Continuous Integration - от простого к сложному Александр Сербул Руководитель направления контроля качества интеграции и
DrupalCamp KIEV'09 Drupal Do А.Графов Август, 2009.
Непрерывная интеграция для PHP Александр Симанович.
Drupal: организация разработки. Генеральный спонсор и организатор конференции DrupalConf 2011 При поддержке:
USE GRUNT, LUKE Глеб Поспелов, Дневник.ру IT Life {JavaScript} 2014.
Git в экосистеме Drupalа Вадим Валуев Много.ру. Контроль версий: когда и зачем Сборка простого сайта через настройки – контроль версий не нужен Разработка.
Continues Deployment iOS приложений с помощью Jenkins и TestFlight Сообщество мобильных разработчиков.
Drush и Drupal администрирование. План Зачем Drush? Что это такое? Установка Drush Основные команды Установка Drupal через командную строку Минусы Drush.
Что нового в Drupal 7 ©Александр Швец
Ершов Андрей ARDAS Group Инсталляционные профили, создание сборок.
LOGO Управление версиями ПО Работу выполнил Студент группы Брюсов Роман.
Непрерывная интеграция Андрей Дзыня. Lohika Systems Kyiv.
Свой проект на Drupal.org От идеи до первого релиза Константин Комелин Йошкар-Ола.
Построение сообществ на Drupal, интеграция с сервисами Google Анна Федорук, Клера Виленская Sterno.Ru.
SQL 2012 И ГИБКИЕ МЕТОДЫ КОМАНДНОЙ РАЗРАБОТКИ C TFS Добро пожаловать в команду! Alexander Yakovlev
Практика распределенной разработки в Open-Source проектах. Александр Веремьев (Zend Framework core team)
Введение в непрерывную интеграцию Руденко Виктория Сообщество Тестировщиков Днепропетровска 26/05/2011 Ardas Group.
Инструментарий начинающего разработчика Drupal Колосов Алексей, IT-Patrol inc.
Frameworks Игорь Хрол. План Проблемы автоматизации Что такое фреймворк? Как он решает проблемы? Некоторые практики с фреймворка на Selenium RC.
Транксрипт:

Непрерывная интеграция - шаг к непрерывному деплойменту 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 Игорь Родионов