+ All Categories
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


Top Related