Upload
sqalab
View
425
Download
5
Embed Size (px)
DESCRIPTION
Презентация доклада Владислава Чернова на конференции SQADays-14, Львов 8-9 ноября 2013
Citation preview
Continuous delivery в крупном интернет
проекте
Владислав ЧерновRelease Engineer
Git Flow
Gitosis web admin
• 25+ репозиториев
• Много пользователей
• Быстрое управление
GitPHP
• CodeReview
• Gitosis
• Авторизация через Crowd
Git хуки
•Помощь разработчикам
•Контроль над разработчиками
•Уведомления
Запрещающие хуки
• Невалидный код
• Код не по стандартам
• Нерешённые конфликты
• Неправильное имя ветки
• Проверка прав на пуш
Хуки нотификаций
• Рассылают уведомления в джабер
• Рассылают письма с диффами
• Оставляют комментарии в JIRA
Системные хуки
• Связывают задачи с релизами
• Заполняют поля в JIRA
• Изменяют статусы в JIRA
Automerge
•Выборка готовых к выкладке задач из JIRA
Automerge
•Выборка готовых к выкладке задач из JIRA
•Проверка существования ветки задачи в remote "origin"
Automerge
•Выборка готовых к выкладке задач из JIRA
•Проверка существования ветки задачи в remote "origin"
•Проверка связанности задачи с другими задачами
Automerge
•Выборка готовых к выкладке задач из JIRA
•Проверка существования ветки задачи в remote "origin"
•Проверка связанности задачи с другими задачами
•Попытка мержа ветки задачи в релиз
Automerge
•Выборка готовых к выкладке задач из JIRA
•Проверка существования ветки задачи в remote "origin"
•Проверка связанности задачи с другими задачами
•Попытка мержа ветки задачи в релиз
•Уведомление о конфликте в jabber
Automerge
•Выборка готовых к выкладке задач из JIRA
•Проверка существования ветки задачи в remote "origin"
•Проверка связанности задачи с другими задачами
•Попытка мержа ветки задачи в релиз
•Уведомление о конфликте в jabber
•Отправка отчёта
Automerge
- PROFIT! - ????
DeployDashboard - веб интерфейс AIDA
• Управление релизами
• Статусы задач
• Применение патчей
Контроль качества
Этапы тестирования
• Code review
• Автоматический запуск юнит тестов
• Devel
• Shot
• Staging
• Опциональное тестирование на production
Интеграция и автоматизация в баг-трекере:
• Критерии "готовности" задачи
• Интеграция с Git, Gitphp и Teamcity
• Автоматическое изменение статуса задач
• Нотификации
• Дополнительная информация
Continuous integration
1. Настройка проекта
2. Сборка
3. Deploy
4. Smoke-тесты
5. Откат сборки
6. Автотесты
Continuous Delivery
TeamCity
Автоматизация
GitPHP
Gitosis
Git
AIDA
JIRA
DeployDashboard
PROFIT!!!!
• 70% задач на production в течении суток
• Формирование релиза
• Отсутствие рутинных действий
Вопросы?
E-mail: [email protected]
Skype: chernovvs
Twitter: @BadooDev
Habrahabr: bit.ly/BadooHabrВладислав Чернов