9. Любая команда нуждается в таких людях:
Обещает помочь,
но не помогает
Исчезает в самом начале и
появляется только в конце
Делает 99%
всей работы
Вообще не понимает,
что происходит
10. Стейджы на проекте Prom+
production
Чт
Пн trunk (default)
stable (RC)
Pre-default
13. Обновление на новый branch
по времени:
- Satu.kz, Deal.by - до 11:00
- Tiu.ru, Prom.ua - с 14:00
Ветки
Пн Вт Ср Чт Пт
1.1
2.2
3.3
12:00
12:00
Как работает Release-train в проекте Prom+
12:00
default stable(RC)
default
default
stable
stable
Дни недели
default
22. Преимущества Feature flags?
- Запуск новой фичи в любую минуту
- Возможность проверить новую фичу на продакшене
- Легкая реализация для проведение А/Б теста
- Запуск функционала на определенном кругу людей
(Бета-тестировщики)
Для начала я расскажу на сколько у нас нагруженный проект и что мы делаем чтоб его удержать в рабочем состоянии
Как вы уже поняли, парни держащие машину веревками это мы
Сама машина это наш проект пром
А мешок соответсвенно наши пользователи, которые перегружают нас
А теперь давайте рассмотрим в цифрах нагрузку нашего проекта по уникальности наших пользователей к определенными временным зазорам
А теперь переведем наш взгляд со внешней нагрузки на внутреннюю, которую создаем мы для нашего проекта
………. по командам пройтись
И все они(мы) пушаем все в одну репу
Теперь поговорим о том с чего состоит костяк наших команд. Возможно из них вы найдете и себя.
Те созданные ветки о которых я говорил в верхнем слайде, мы также отправляем удачно в продакшен, это выглядит прмерно так
На примере довольно сложного графика покажу как работает рилиз трейн в проме. Для начала что такое релиз трейн? кто-то знает?
Это график по которому можно определять, когда сматываться в отпуск, если выкатываете через два дня космолет и не успеете его проверить.
Обновление по времени такие разные из-за разницы в нагрузке порталов. Окатываемся на маленьких потом переходим к большим
Наши девелоперы не плавают в накопленном коде, который с каждым днем все увеличивается в размерах строк и уже протухает в ветке
Происходит ранее тестирования продукта с постоянным добавлением новых кусков кода и фичей
Как вы догадались, на картинке девочка выступает в роли девелопера, который не может остаться незамеченным с нашей системой релиз трейна, что он может выпушатся в свою ветку в которой все идеально (не как на приближенном к продакшену ресурсе) и говорить что все норм работает. А эти собаки это наши QA которых хлебом не корми дай поискать ошибки в проекте
С такой системой отпадает потребность в поддержке большого кол-ва веток и версий на проекте. Что упрощает концентрирования на том где мы не исправили тот или другой баг, либо куда мы не всунули важные фичи. А это затраченное время можно потратить на более продуктивные вопросы чем следить за множеством существующих версий
Можно продумывать что войдет в тот или иной последующий релиз, после выкатки ветки. Можно строить планы на А/Б тесты и т.д.
Такое неподобство фиксится либо большим кол-вом qa, что не есть дешево. Ну разве что набрать всех недоджунов стоимостью одного нормального QA, либо покрывать автотестами, которые очень выручают и ловят практически все то что не нашел мануал qa
Спросите вы что же мы делаем с недоработанным до конца функционалом. Так так мы не хотим позорится и не успеваем иногда реализовать космолет за 2 дня, мы такой функционал реализовываем под так называемым флагом, с помощью которого мы потом управляем видимостью, включили-выключили. Доступ к такой игрушки есть только у тим лидов, да бы избежать потом последствий непонятности почему функционал отображается, когда не должен был.
И так как же мы подаем сигналы другим командам, что мы готовы обновляться на новую ветку, после прогона автоестов и не стопаем по багам, что мы все успеваем. Так вот мы садимся на видное место в кабинете, чтоб нас могли видеть с других кабинетов в 12 00 и начинаем делать так как показано на видео
ну если же у какой-то команды пошло что-то не так то давай все по новой