+ All Categories
Home > Technology > Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в...

Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в...

Date post: 14-Jun-2015
Category:
Upload: badoo-development
View: 479 times
Download: 1 times
Share this document with a friend
Description:
При построении Continuous delivery в крупном интернет проекте возникает огромное количество проблем. Мы рассказали как автоматизировать этот процесс и улучшить качество выпускаемого продукта. Также вы узнаете: 1) Бизнес, лимит времени и много рутинных действий как основная мотивация для автоматизации процесса. 2) Как верно простроить и автоматизировать процесс разработки и тестирования. 3) AIDA. Наш собственный инструмент автоматизации. 4) Автоматизация рутинные операции в системе контроля версий. 5) Continuous integration как основной шаг к Continuous delivery. 6) Наш подход к интеграции системы контроля версий, баг трекера и CI сервера. 7) Почему мы используем собственный утилиты для запуска и прогона автотестов. И конечно про основные “грабли” на которые мы наступали при автоматизации процесса.
Popular Tags:
29
Continuous delivery в крупном интернет проекте Владислав Чернов Release Engineer
Transcript
Page 1: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Continuous delivery в крупном интернет

проекте

Владислав ЧерновRelease Engineer

Page 2: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Git Flow

Page 3: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Gitosis web admin● 25+ репозиториев● Много пользователей● Быстрое управление

Page 4: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".
Page 5: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

GitPHP

● CodeReview

● Gitosis

● Авторизация через Crowd

Page 6: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Git хуки

● Контроль над разработчиками

● Помощь разработчикам

● Уведомления

Page 7: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Запрещающие хуки

● Невалидный код

● Код не по стандартам

● Нерешённые конфликты

● Неправильное имя ветки

● Проверка прав на пуш

Page 8: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".
Page 9: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Хуки нотификаций

● Рассылают уведомления в джабер

● Рассылают письма с диффами

● Оставляют комментарии в JIRA

Page 10: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".
Page 11: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Системные хуки

● Связывают задачи с релизами

● Заполняют поля в JIRA

● Изменяют статусы в JIRA

Page 12: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".
Page 13: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Automerge

● Выборка готовых к выкладке задач из JIRA

Page 14: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Automerge

● Выборка готовых к выкладке задач из JIRA

● Проверка существования ветки задачи в remote "origin"

Page 15: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Automerge

● Выборка готовых к выкладке задач из JIRA

● Проверка существования ветки задачи в remote "origin"

● Проверка связанности задачи с другими задачами

Page 16: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Automerge

● Выборка готовых к выкладке задач из JIRA

● Проверка существования ветки задачи в remote "origin"

● Проверка связанности задачи с другими задачами

● Попытка мержа ветки задачи в релиз

Page 17: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Automerge

● Выборка готовых к выкладке задач из JIRA

● Проверка существования ветки задачи в remote "origin"

● Проверка связанности задачи с другими задачами

● Попытка мержа ветки задачи в релиз● Уведомление о конфликте в jabber

Page 18: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Automerge

● Выборка готовых к выкладке задач из JIRA

● Проверка существования ветки задачи в remote "origin"

● Проверка связанности задачи с другими задачами

● Попытка мержа ветки задачи в релиз● Уведомление о конфликте в jabber● Отправка отчёта

Page 19: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Automerge

- ???? - PROFIT!

Page 20: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

DeployDashboard - веб интерфейс AIDA

● Управление релизами

● Статусы задач

● Применение патчей

Page 21: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Контроль качества

Page 22: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Этапы тестирования● Code review● Автоматический запуск юнит тестов● Devel● Shot● Staging● Опциональное тестирование на production

Page 23: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Интеграция и автоматизация в баг-трекере:

● Критерии "готовности" задачи● Интеграция с Git, Gitphp и Teamcity● Автоматическое изменение статуса задач● Нотификации● Дополнительная информация

Page 24: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Continuous integration

Page 25: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

1. Настройка проекта

2. Сборка

3. Deploy

4. Smoke-тесты

5. Откат сборки

6. Автотесты

Page 26: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Continuous Delivery

Page 27: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

TeamCity

Автоматизация

GitPHP

Gitosis

Git

AIDA

JIRA

DeployDashboard

Page 28: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

PROFIT!!!!

● 70% задач на production в течении суток

● Формирование релиза

● Отсутствие рутинных действий

Page 29: Доклад Владислава Чернова на SQA Days 2013. "Continuous delivery в крупном интернет проекте".

Вопросы?

Владислав ЧерновE-mail: [email protected]

Skype: chernovvsTwitter: @BadooDev

Habrahabr: bit.ly/BadooHabr


Recommended