@oop_ru

Страница 282 из 785
Evgeniy
05.07.2017
00:34:45
мы убираем спринты

Sergey
05.07.2017
00:34:50
типичный недоскрам

Evgeniy
05.07.2017
00:34:51
ждем завершенные таски

и выкладываем их

Google
Evgeniy
05.07.2017
00:35:04
нет сейчас у нас agile типо

Sergey
05.07.2017
00:35:04
ясно понятно

https://www.youtube.com/watch?v=UQOmGiv7rUk

обязательно посмотри этот видос

тебе должно зайти

Evgeniy
05.07.2017
00:35:54
мы хотим оставить ценности agile (типо ебашим для пользователей)

но выкладка релизов без спринтов и как готов функционал

условно говоря так

типо сделал функционал, сделал дему людям

все посмотрели надо ли выкладывать если надо выкладываем

ну и всякие автотесты и тд

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

Sergey
05.07.2017
00:37:27
вот в этом видосике объясняют что ценность аджайла не в "ебашим для пользователей" а в cash in my poket.

Google
Evgeniy
05.07.2017
00:37:47
у нас значит не правильный agile

мы стараемся людям делать лучше чтобы cash in my poket

они заносили

Sergey
05.07.2017
00:38:13
потому что "ебашим для пользователей" должно быть вне зависимости аджайл у тебя или ватерфол. Вопрос больше сбора фидбэка и анализа вэлью. А все это влияет на прибыль.

мы стараемся людям делать лучше чтобы cash in my poket
посмотри видос короч, тебе будет полезно

Evgeniy
05.07.2017
00:38:37
ок

Sergey
05.07.2017
00:38:49
если что - это самый крутой видос на тему всех этих аджайлов

Evgeniy
05.07.2017
00:38:58
спс

у нас сейчас одна проблемка с выкладкой релизов)

сделали мы сине зеленый релиз

но беда с бд

как жить с ситуациями когда изменения обратно не совместимы

если что мы фигачим без шовные релизы

хотя лично я против их

поэтому вопросы выкладки довольно забавны)

и протестить их довольно сложно

как вы их решаете у себя?

вариант с плашкой типо идут тех работы и выкладка потом не рассмматривают

типо надо чтобы пользователь это не видел

Google
Sergey
05.07.2017
00:44:23
варианты следующие - проанализируй почему случаются нарушения обратной совместимости

Evgeniy
05.07.2017
00:44:31
у нас много чего делалось на коленке

и при переделке перекрайваем куски

Sergey
05.07.2017
00:44:47
1. слишком большие релизы - тут могут помочь CD 2. слабый анализ проблемы и, как ты сказал, "делали на коленке"

Evgeniy
05.07.2017
00:44:59
у нас сейчас обе причины на самом деле

у нас специфика сервиса такова

что есть самописные очереди

и есть процессы долго играющие

Sergey
05.07.2017
00:45:45
p.s. для CD не надо отказываться от спринтов - спринты хороший способ организации задач. Главное не думать что конец спринта это какой-то дедлайн.

Evgeniy
05.07.2017
00:46:08
например пользователь что то заказывает

и создание заказа занимает в среднем 3 - 5 минут

Sergey
05.07.2017
00:46:48
ну у меня есть похожие штуки, типа операция вызывает три транзакции последовательные, и операция может длиться до трех часов

Evgeniy
05.07.2017
00:46:49
и таких заказаов в среднем оплаченных около 50 открытых на 2 серверах очередей

Evgeniy
05.07.2017
00:47:08
да типо того только еще ошибки могут быть

у нас в секунду обычно по 50 штук стабильно работает

Sergey
05.07.2017
00:47:27
у меня тоже, транзакция на любом этапе может зафэйлиться и это надо хэндлить

Evgeniy
05.07.2017
00:47:33
почти всегда загружены ими

да причем есть ошибки типо все фатально упало

и есть ошибки упали не фатально а сторонее апи

Google
Sergey
05.07.2017
00:48:06
ну есть, в такой ситуации я просто кикаю задачу в отдельную очередь и прилетает нотификашка

и потом процессится вручную уже

Evgeniy
05.07.2017
00:48:25
идея в том что как выкладывать релизы

если есть фоновые таски

Sergey
05.07.2017
00:48:39
так а что не так?

Evgeniy
05.07.2017
00:48:39
например если релиз касается этих очередей

Sergey
05.07.2017
00:49:02
ну тип, я всеравно не вижу проблемы, из твоего описания задача больше суток всеравно не висит

Evgeniy
05.07.2017
00:49:15
например перенос колонки из одной таблицы в другую

Sergey
05.07.2017
00:49:16
а поддерживать обратную совместимость сутки, или даже неделю, не сложно

Evgeniy
05.07.2017
00:49:23
соответственно изменение в app и бд

если мы релизим в начале app потом бд то некоторое время в бд не будет колонки

и fail при write

если релизим бд а потом app переключаем с синего на зеленый

Sergey
05.07.2017
00:50:28
1. добавляем колонку в базу и пишем код который будет писать в обе колонки 2. деплоим и ждем 3. пишем миграцию которая перенесет старые данные 4. деплоим 5. когда все ок и данные в новой колонке всегда актуальны - дропаем колонку

Evgeniy
05.07.2017
00:50:44
то после выполнения миграции

данные могут быть обработаны

Sergey
05.07.2017
00:51:20
я тебе вот кейс реальный привел

Sergey
05.07.2017
00:51:35
ээээм в смысле?

Google
Sergey
05.07.2017
00:51:48
ты ее добавляешь, ее полюбому небыло раньше

Evgeniy
05.07.2017
00:51:57
пишем код который будет писать в обе колонки

Sergey
05.07.2017
00:52:14
ну ты ж сначала миграцию накатываешь которая колонку добавляет, а уже потом код деплоишь

Evgeniy
05.07.2017
00:52:30
да можно и так

потом некоторое время пишем в места (В старое и новое

Sergey
05.07.2017
00:52:49
у меня просто в дженкинсе есть джоба которая все эти операции в строгой последовательности запускает

Evgeniy
05.07.2017
00:53:05
а как вы их разделяете?

ветки

Sergey
05.07.2017
00:53:15
кого разделяем?

Evgeniy
05.07.2017
00:53:23
ну миграции

на добавления колонки

на удаление колонки

мы laravel юзаем и их миграции

Sergey
05.07.2017
00:53:39
ну версии, они к тегам билда привязаны

Evgeniy
05.07.2017
00:53:59
нет я о том что

Sergey
05.07.2017
00:54:01
ну мол миграция на удаление колонки появится только в новом билде

Evgeniy
05.07.2017
00:54:09
в начале выполнить только миграции по добавлению колонок

Sergey
05.07.2017
00:54:26
ну так в этой версии билда еще нет "другой" миграции

Evgeniy
05.07.2017
00:54:34
у нас предлагают извращенный вариант с отдельной веткой миграцией на удаление

типо выложились и потом удаляем

Sergey
05.07.2017
00:54:42
не, это херня полная

Evgeniy
05.07.2017
00:54:55
я знаю

Страница 282 из 785