aida. Непрерывная интеграция на большом...
DESCRIPTION
TRANSCRIPT
![Page 1: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/1.jpg)
AIDA
Непрерывная интеграция в
крупном Интернет проекте
![Page 2: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/2.jpg)
Automated Interactive Deploy Assistant
![Page 3: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/3.jpg)
Содержание 1. Git
1.1 Workflow
1.2 Gitosis
1.3 GitPHP
1.4 Hooks
2. Automerge
3. Dashboard
4. JIRA. Контроль разработки
5. TeamCity - авто тесты, сборка и деплой
6. Continuous delivery
![Page 4: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/4.jpg)
Git workflow
Master - стабильная версия кода, копия продакшена.
Каждая задача в отдельной ветке. Ветки релизов
создаются автоматически по расписанию.
![Page 5: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/5.jpg)
Gitosis web admin
• 25+ репозиториев
• Много пользователей
• Быстрое управление
+ =
![Page 6: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/6.jpg)
GitPHP
• CodeReview
• Gitosis
• Авторизация через JIRA
![Page 7: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/7.jpg)
Git хуки
• Контроль над разработчиками
• Помощь разработчикам
• Уведомления
![Page 8: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/8.jpg)
Запрещающие хуки
• Невалидный код
• Код не по стандартам
• Нерешённые конфликты
• Неправильное имя ветки
• Проверка прав на пуш
![Page 9: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/9.jpg)
Хуки нотификаций
• Рассылают уведомления в джабер
• Рассылают письма с диффами
• Оставляют комментарии в JIRA
![Page 10: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/10.jpg)
Системные хуки
• Связывают задачи с релизами
• Заполняют поля в JIRA
• Изменяют статусы в JIRA
![Page 11: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/11.jpg)
Automerge
• Выборка готовых к выкладке задач из JIRA
• Проверка существования ветки задачи в remote
"origin"
• Проверка связанности задачи с другими задачами
• Попытка мержа ветки задачи в релиз
• Уведомление о конфликте в jabber
• Отправка отчёта
![Page 12: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/12.jpg)
DeployDashboard - веб интерфейс AIDA
• Список релизов
• Списки связанных с релизами задач и их статусами
• Форма добавления патча в master или релиза
• Список патчей в master и релизы
• Применение патча непосредственно из дашборда
![Page 13: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/13.jpg)
Взглянем на Аиду с другой стороны
![Page 14: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/14.jpg)
Контроль качества
![Page 15: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/15.jpg)
QA • Автоматический запуск юнит тестов
• Devel
• Shot
• Staging
![Page 16: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/16.jpg)
JIRA. Контроль разработки
Интеграция и автоматизация в баг-трекере:
• Критерии "готовности" задачи
• Интеграция с Git, Gitphp и Teamcity
• Автоматическое изменение статуса задач
• Нотификации
• Дополнительная информация
![Page 17: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/17.jpg)
TeamCity - авто тесты, сборка и деплой
![Page 18: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/18.jpg)
TeamCity - авто тесты, сборка и деплой
1. Настройка проекта
2. Сборка
3. Deploy
4. Smoke-тесты
5. Откат сборки
6. Автотесты
![Page 19: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/19.jpg)
Автоматизация:
1. Git
2. Gitosis
3. GitPHP
4. Automerge
5. DeployDashboard
6. JIRA
7. TeamCity
Continuous Delivery
В итоге:
• 70% задач на production
• Формирование релиза
• Отсутствие рутинных
действий
![Page 20: AIDA. Непрерывная интеграция на большом интернет-проекте / Владислав Чернов, Олег Оямяэ (Badoo)](https://reader031.vdocuments.mx/reader031/viewer/2022012317/54c4181e4a79596c2d8b4589/html5/thumbnails/20.jpg)
Вопросы?
Vladislav Chernov e-mail: [email protected]
skype: chernovvs
Oleg Ojamäe e-mail: [email protected]
skype: oleko_dundich