ݺߣ

ݺߣShare a Scribd company logo
Непрерывная интеграция -
шаг к непрерывному
деплойменту
              Игорь Родионов

              Drupal expert
              rodionov.ig@gmail.com
Спонсоры
     Организатор      Генеральный спонсор




 Серебряный спонсор   Серебряный спонсор




 Бронзовый спонсор     Бронзовый спонсор
Родионов Игорь

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

Cooking Drupal
      ~ 5 years
   ~ 14 projects
   ~ 60 patches
  ~16 approved
Проект на Drupal
Проект на Drupal
Проект на Drupal
Почему так?
Клуб анонимных друпалеров




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




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




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




 Возми проект под контроль!
Непрерывная интеграция


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


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

     Code         Run
SVN         Bash Manual
GIT         Bash SSH
CVS         VCS Hooks
Mercurial   Cron
FTP         Capistrano
SFTP        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

                Features
  Cущности       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
          rodionov.ig@gmail.com
Спонсоры
     Организатор      Генеральный спонсор




 Серебряный спонсор   Серебряный спонсор




 Бронзовый спонсор     Бронзовый спонсор

More Related Content

Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь