от задачи до Production

19
От задачи до production или "Как мы ведем разработку" Andrey F. Kupreychik @ Bitworks

Transcript of от задачи до Production

От задачи до productionили "Как мы ведем разработку"

Andrey F. Kupreychik @ Bitworks

Bitworks SoftwareОснована в 2005 году в ТомскеВ штате более 50 сотрудников

Направления:Высокопроизводительные системы высокой доступностиКонтентные проектыData miningЦОД и облачные услуги (NetPoint)

Dedicated/VPS/HostingХранение и обработка данныхСистемное администрирование

Инструменты разработкиНаш минимальный набор:

Continuous integration система (Jenkins)VCS (git + gitolite)Project management система (redmine)

***

От задачи до production

Redmine workflow

Задачи и GIT

Тысяча и одно окружение

Поддержка со стороны проектаКонфиг по домену (например ticket1111.test.project.com):

namespace для БДИмена очередейПрефиксы имен загружаемых файлови так далее...

Развертывание и свертываниеБаза данныхФайлыКодСервисы окружения

А для apache это просто:## ticket1214.test.project.comServerName test.project.comServerAlias *.test.project.comVirtualDocumentRoot /var/www/vhosts/%-4.0/public_html

Code-review и unit-тестирование

Ручные тесты и автотестированиеБыстрое ручное тестирование нового кодаФункциональное автоматизированное тестированиеТри этапа тестирования:

отдельнов составе релизана production

Сборка релизов

Заливка в продgit checkout productiongit pullgit merge --no-ff origin/ticket3333 # release ticketgit push origin production

Облегчаем свою жизньЛюбая задача подчиняется процессу, абсолютно любая!Изменения в БД только через миграции.Соблюдайте принципы, бейтесь за архитектуру.Код не понятен - код-ревью не пройден.Писать тесты - полезный навык

Немного фактовСчетчик тикетов в редмайне скоро отсчитает 30000 тикетовУ нас бывает до 50 разрабатываемых/тестируемых фичодновременноЗа последние 3 года мы откатили с production только одинрелизВедущие разработчики знают до 90% классов в проекте каксвои 5 пальцев

Спасибо за внимание