Доклад Александа Ильина и Олега Оямяэ на конференции...
DESCRIPTION
Видео с первой конференции Badoo для тестировщиков LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA и TeamCity". Доклад Александа Ильина & Олега Оямяэ, Badoo. Материалы для чтения: http://bit.ly/badoo-developer-handbookTRANSCRIPT
![Page 1: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/1.jpg)
ALEXANDER ILYIN
AIDAREVOLUTION*
OLEG OJAMÄE
*EVOLUTION IN RELEASE ENGINEERING
![Page 2: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/2.jpg)
AUTOMATEDINTERACTIVEDEPLOYASSISTANT
http://bit.ly/badoo-aida-1-habr
![Page 3: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/3.jpg)
ЯЩИК ПАНДОРЫ АИДЫ
![Page 4: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/4.jpg)
DEPLOY DASHBOARD
Список активных релизов и история релизов
Перечень задач в релизах и их статусы
Интерфейсы для применения patch и hotfix
Создание нового .shot и список существующих
Интерфейс раскладки конфигов и crontab
![Page 5: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/5.jpg)
GITOSIS — GITPHP
50+ репозиториев
200+ пользователей
Web интерфейс
Open Source
https://github.com/tv42/gitosishttp://bit.ly/badoo-gitphp-habr
Code Review
JIRA
Заменил Gerrit
Интегрирован Mergely
“The only valid measurementof code quality: WTF/minute.”
![Page 6: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/6.jpg)
GIT WORKFLOW PHP — C/C++ — C#
patch
hotfix TEST-1
build_1
master
Developers ActionsDevelopers CommitsActions by Leads / Release TeamAutomated Actions
JS-1
PHP-2
HTML-3
build_2
![Page 7: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/7.jpg)
GIT WORKFLOW JAVA — OBJECTIVE-C
dev
master
release_fix_1
integration_fix_1
release_1.0
integration_1
IOS-1_new_feature IOS-2_new_feature
Developers CommitsActions by Leads / Release TeamAutomated Actions
![Page 8: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/8.jpg)
Все ветки начинаются с master
Новая ветка для каждого релиза
Откат задач через rebase
Ветка релиза не мерджится в ветку задачи
Не пушить с force
ПЯТЬ ПРАВИЛ РЕЛИЗЕРА
“У нас будет свой флоу, с rebase и feature ветками.”
http://bit.ly/badoo-git-rebase-habrhttp://bit.ly/badoo-workflow-1-habrhttp://bit.ly/badoo-workflow-2-habr
![Page 9: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/9.jpg)
AUTOMERGE
Выборка готовых к выкладке задач из JIRA
Проверка существования ветки задачи в origin
Проверка готовности связанных задач
Обработка конфликтов при merge
Уведомление о конфликте в jabber
![Page 10: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/10.jpg)
prepare-commit-msg pre-receivepost-receive
git push origin HEAD
GIT — HOOKS
16 разных событий
Локальные и удаленные события
Возможность остановки
Возможность изменения
![Page 11: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/11.jpg)
prepare-commit-msg
Подготовка данных для последующих этапов тестирования
Простой способ определения текущего набора задач в ветке
Определение набора задач после git rebase
Поддержка в стороннем ПО — TeamCity, JIRA, PHPStorm
GIT — LOCAL HOOKS
![Page 12: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/12.jpg)
post-receivepre-receive
GIT — REMOTE HOOKS
http://bit.ly/badoo-git-habr
Проверка прав
Анализ кода
Проверка формата ветки
Внешние зависимости
Уведомления
Обновление служ. инф.
Отложенное выполнение
![Page 13: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/13.jpg)
AIDA — SERVER SIDE
Очередь собщений
Несколько попыток
Многопоточность
Jabber клиент
Обертка над git
TeamCity клиент
JIRA клиент
Система уведомлений
Доступ на staging
Доступ на production
Синхронный и асинхронный режим
![Page 14: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/14.jpg)
![Page 15: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/15.jpg)
Автоматизация разработки
Экономия времени
Отсутствие рутины
Клиент-серверная архитетура
Простой откат
Автоматизация тестирования
Система развивается
http://bit.ly/badoo-code-coverage-habr
http://bit.ly/badoo-phpunit-habr
PROFIT
![Page 16: Доклад Александа Ильина и Олега Оямяэ на конференции LoveQA. "AIDA. Эволюция автоматизации работы с Git, JIRA](https://reader036.vdocuments.site/reader036/viewer/2022081716/546ea13cb4af9fc3268b4737/html5/thumbnails/16.jpg)
ПОЧИТАТЬhttp://bit.ly/badoo-developer-handbook
@BadooDev #AIDAПОГОВОРИТЬ
16