Цикл разработки и внедрения функционала в Мамбе...
Post on 23-Jul-2015
1.668 Views
Preview:
TRANSCRIPT
О чем доклад?
• Основа разработки – система контроля версий
• Автоматизированная система деплоя с веб интерфейсом
• Проблемы непосредственно деплоя кода • Как мы понимаем, что все хорошо
Проблемы SVN
• Тяжелые операции переключения веток • Тяжелые операции мержа и поддержки актуальности веток
и как следствие • Разработка в транке
Проблемы деплоя при разработки в транке
• Его нельзя раскладывать целиком. Только отдельные файлы.
• Деплой нужно производить так часто как это возможно
Проблемы деплоя при разработки в транке
• Его нельзя раскладывать целиком. Только отдельные файлы.
• Деплой нужно производить так часто как это возможно
• Нет возможности сегментировать билд
Сегментация билда
• Структурирует изменения • Позволяет автоматически исключать из билда нестабильный функционал
Решение всех проблем: переход на гит
• Сильно проще работать с ветками. • Стабильный мастер позволит делать теги для аварийного отката
Решение всех проблем: переход на гит
• Сильно проще работать с ветками. • Стабильный мастер позволит делать теги для аварийного отката
• Заявка на деплой – ветка в репозитории
Система визуального деплоя
• Начиналась со списка файлов в почте • Потом появилась форма, для списка файлов(автоматизация!)
Валидация заявок
• Автоматический merge с мастером • Проверка корректности разметки шаблонов • Запуск тестов conZnuous integraZon
Система визуального деплоя
• Валидирует заявки • Диагностирует конфликты между заявками • Выгружает код на тестовые сервера
Система визуального деплоя
• Валидирует заявки • Диагностирует конфликты между заявками • Выгружает код на тестовые сервера • Генерирует переводы
Система визуального деплоя
• Валидирует заявки • Диагностирует конфликты между заявками • Выгружает код на тестовые сервера • Генерирует переводы • Хранит кучу галочек и стрелочек
Система перевода
• Меташаблоны – Blitz – Вызовы из пхп кода из шаблонов – Вызовы как маркеры фраз
• Копия шаблонов для каждого языка
Система перевода
• Меташаблоны – Blitz – Вызовы из пхп кода из шаблонов – Вызовы как маркеры фраз
• Копия шаблонов для каждого языка • Визуальный перевод
Как мы делаем деплой
• Разделили процесс доставки кода и процесс переключения
• Изменяем document root и перечитываем конфиг nginx
После деплоя. Демон агрегации статистики
• BTP: Демон сбора статистики • Большое количество счетчиков и таймеров разного уровня.
После деплоя. Демон агрегации статистики
• BTP: Демон сбора статистики • Большое количество счетчиков и таймеров разного уровня.
• Циклическая база для хранения значений до года
После деплоя. Демон агрегации статистики
• BTP: Демон сбора статистики • Большое количество счетчиков и таймеров разного уровня.
• Циклическая база для хранения значений до года
• Обновляется в реальном времени
О чем же был доклад?
• Git быстрее svn из-‐за локальных операций • Визуальным деплоем пользуются даже менеджеры
• Деплой: переключение document root • Для мониторинга мы написали сервер статистики и он open source
BTP можно найти на github
• h�ps://github.com/mambaru/btp-‐daemon Демон
• h�ps://github.com/mambaru/btp-‐webui Web интерфейс
• h�ps://github.com/mambaru/btp-‐api Api для PHP
top related