Организация инфраструктуры разработки - примеры из жизни Александр Сербул Руководитель направления контроля качества интеграции и внедрений 1С-Битрикс.

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



Advertisements
Похожие презентации
Continuous Integration - от простого к сложному Александр Сербул Руководитель направления контроля качества интеграции и
Advertisements

Александр Сербул Руководитель направления контроля качества интеграции и внедрений Александр Демидов Руководитель направления арендных решений Битрикс.
Подводные камни разработки – чего делать нельзя Александр Сербул Руководитель направления контроля качества интеграции и
Интернет-магазины, высокие нагрузки, синхронизации бизнес- приложений с веб-системой Александр Сербул Руководитель направления контроля качества интеграции.
Git в экосистеме Drupalа Вадим Валуев Много.ру. Контроль версий: когда и зачем Сборка простого сайта через настройки – контроль версий не нужен Разработка.
Тестирование веб-проектов в Agile Асхат Уразбаев, ScrumTrek.
IDE (Integrated Development Environment ) докладчик: Минкин Александр
Аспекты увеличения быстродействия «1С-Битрикс: Управление сайтом» на виртуальном хостинге Артём Рябинков 1С-Битрикс.
Инструментарий продвинутого командного разработчика Redmine + Eclipse + Mylyn + VCS.
Как эффективно тестировать крупный веб-проект Александр Сербул Руководитель направления контроля качества интеграции и внедрений 1С-Битрикс.
Артем Рябинков Руководитель отдела развития бизнеса 1С-Битрикс, к.т.н. Обновленные решения для создания сайтов 1С-Франчайзи.
Как улучшить производительность проекта за три шага Шаромов Денис руководитель отдела техподдержки.
Александр Сербул Руководитель направления контроля качества интеграции и внедрений Автоматическая проверка безопасности интернет-проектов.
Александр Сербул Руководитель направления контроля качества интеграции и внедрений Проактивный мониторинг и анализ трендов #bitrix #bitrix24.
Разработка Open Source проекта на примере OpenVZ Web Panel Алексей Южаков.
DrupalCamp KIEV'09 Drupal Do А.Графов Август, 2009.
1С-Битрикс: Маркетплейс новые возможности Денис Донченко менеджер отдела развития бизнеса.
Веб-разработка и CMS глазами клиентов Сергей Рыжиков генеральный директор компании «1С-Битрикс»
Автоматический бэкап в облако 1С- Битрикс Шаромов Денис руководитель отдела техподдержки.
Алексей Кирсанов ведущий разработчик «1С-Битрикс» Магазин – глобальная реструктуризация. D7 Партнерская конференция «1С-Битрикс»
Транксрипт:

Организация инфраструктуры разработки - примеры из жизни Александр Сербул Руководитель направления контроля качества интеграции и внедрений 1С-Битрикс

Цели Поговорить – как бывает и как правильнее и почему Обсудить и выбрать современные адекватные инструменты Создать эффективную структуру разработки – в зависимости от типа и размеров веб-системы

Сам себе хозяин Даже когда программист один и «кодит» в Notepad – … теряется впустую немало времени ($) Подсветка кода – резко снижает число ошибок Подсказки параметров функций/методов – ускоряют разработку Встроенная справка по PHP – меньше ошибок, быстрее Дерево проекта, классов – упрощает навигацию и ускоряет Codestyle – настроен один раз Встроенная работа с удаленными серверами – скорость Время – деньги.

Где писать код? Разработчики должны использовать – современные инструменты IDE ( Integrated Development Environment ) Выберите удобный IDE, изучите и внедрите Экономьте время и деньги! PHP Development Tools (PDT)

Где писать код?

PhpStorm Подсказки по PHP и вашим функциям/классам, подсветка ошибок

PhpStorm Встроенный help по PHP – немного корявый, но работает Ctrl + B

PhpStorm Подсказки структуры классов

PhpStorm Структура сущностей программы, теги PhpDocumentor

PhpStorm Связь с удаленными серверами, контроль версий

Среды разработки – Zend Studio

Среды разработки – Eclipse PDT

Где писать код? Выжимайте из IDE – максимум удобных и полезных вещей Систематизируйте настройки IDE у разработчиков «Скупой платит дважды» PHP Development Tools (PDT)

Среды разработки для PHP/HTML/JS – на Битриксе Не добавляйте Битрикс в контроль версий! Используйте IDE для своего репозитория, модулей Обновляйте Битрикс – отдельно, как библиотеку Для контента и файлов прав – делаем инкрементальный бэкап Очень нужна интеграция Битрикс в IDE.

Управление версиями Код – под контролем, можно откатиться Видно, кто, что и когда делал Легче добавлять функционал, эксперементировать Можно добавлять в VCS – компоненты, шаблоны, модули

Управление версиями

Ветка 1 Разработчик 1 Разработчик 2 Разработчик 3 Ветка 2 Ветка 3 Ветка DEV Изменения в ветки DEV/TESTING переносит опытный разработчик Вед. разработчик Серверы разработки Ветка TESTING Ветка PRODUCTION Серверы тестирования Вед. разработчик Тестировщик 1 Тестировщик 2 Серверы в production Сисадмин На «бой» протестированные изменения выкладывает сисадмин.

Wiki Это удобнее, чем «кидаться» письмами и документами Сохраняется история изменений страницы Можно задать права Легко создать древовидную структуру проектов Легко искать по информации Можно прикреплять файлы/изображения

Wiki: redmine, confluence

Трекеры задач и багов Задачи не теряются Можно отследить общение по задаче В WIKI можно сослаться на задачи и баги и их статус Удобно состыковать с гибким процессом разработки – ссылка на коммит

Трекеры задач и багов

Инструменты отладки кода Xdebug – на тестовых серверах XHProf – можно и на боевых Pinba – нужно на боевых gdb – в основном на боевых

Инструменты отладки кода - Pinba Используем на боевых серверах UDP-пакеты быстро и просто Измеряем как быстро и устойчиво работает код веб-проекта

Инструменты отладки кода - Xdebug Трассируем выполнение страниц Профилируем c webgrind Красивые бэктрейсы ошибок

Инструменты отладки кода - XHProf Можно на бою Граф вызовов функий, CPU, memory

Инструменты отладки кода - XHProf

Инструменты отладки кода - gdb (gdb) bt #0 0x00007fb8df6eeec3 in _zend_mm_free_canary_int (heap=0x7fb8e55412f0, p=0x8979bd1cfff04d3f) at /usr/src/php5/source/php /Zend/zend_alloc_canary.c:2097 #1 0x00007fb8df6cdc8d in _zval_dtor_func (zvalue=0x7fb8e ) at /usr/src/php5/source/php /Zend/zend_variables.c:36 #2 0x00007fb8df6c1cb9 in _zval_ptr_dtor (zval_ptr=0x7fb8e55412f0) at /usr/src/php5/source/php /Zend/zend_variables.h:35 #3 0x00007fb8d7d9f892 in ?? () from /usr/lib/php5/ /memcached.so #4 0x00007fb8df71f9ba in zend_do_fcall_common_helper_SPEC (execute_data=0x7fb8e ) at /usr/src/php5/source/php /Zend/zend_vm_execute.h:320 #5 0x00007fb8df6f6e70 in execute (op_array=0x7fb8e ) at /usr/src/php5/source/php /Zend/zend_vm_execute.h:107 Просмотреть трейс вызовов PHP: gdb apache2 core (gdb) source /usr/src/php5_/source/php5-5.3/.gdbinit (gdb) dump_bt executor_globals.current_execute_data

Выбираем удобный инструментарий! Media Wiki Excel Redmine Track Confluence Раб. группа: Битрикс24/Корппортал Управление требованиями Redmine Jira Раб. группа: Битрикс24/Корппортал Track TrackStudio Управление задачами, временем, рисками, документами, проектом Mantis SVN Mercurial Git Bazaar Управление версиями кода ZendStudio PhpStorm Eclipse PDT Среды разработки Xdebug XHProf Pinba Средства отладки для разработчиков

Инструменты и проекты IDE и контроль версий – всегда и везде! Wiki – очень полезно, особенно если много требований Трекеры задач – полезны практически в любой проекте Много веток в контроле версий – в больших проектах полезно Битрикс – и много разработчиков Битрикс – разные БД у разработчиков или нет? Битрикс – контент и контроль версий Девелоперские, тестовые и боевые сервера

Спасибо за внимание! Вопросы? Александр Сербул AlexSerbul