Vladimir
А значит сложно потом не продолжать фиксы при мажорных апдейтах
Pavel
> в этом случае, мне бы пришло в голову выложить стейбл релиз в прод, тут уже видно расхождение в трактовании термина
Anton
в этом случае, мне бы пришло в голову выложить стейбл релиз в прод, следуюзий тестить и баги в проде закрывать хотфиксами
Ну в данном случае это не "тестинг" в стандартном понимании, он тоже стабилен с точки зрения кода, но содержит какой-то функционал, о котором нельзя сказать однозначно, нужен он или нет с точки зрения бизнеса
Vladimir
Так вот у нас так. У девелоперов есть возможность сделать препрод и пустить туда малый процент людей
Anton
Угу. Но это не совсем релизы.
ну да, что есть релиз - отдельный вопрос
Anton
и в каждой команде трактовка может быть разной
Max
может стоит понимать под релизом то что в прод ушло
Pavel
У нас во-первых релиз нумеруется не по кодерски, а по номеру тикета с которого он начинается. То есть у нас есть релиз 6749 и есть релиз 6701
Pavel
По сути это просто сгруппированные задачи
Max
а, ну у вас вообще свой воркфлоу
Vladimir
У нас релизы нумеруются хэшами гита, с которого они побилжены.
Pavel
И когда мы начинаем сразу делать 2 релиза, то я считаю что просто название неправильное
Max
У нас релизы нумеруются хэшами гита, с которого они побилжены.
у нас есть релиз 2.35 например, и есть app.version для конкретного микросервиса, на основе хэша коммита
Vladimir
у нас есть релиз 2.35 например, и есть app.version для конкретного микросервиса, на основе хэша коммита
мы просто сейчас пытаемся уйти от понятия "релиз". В сторону single-service deployments. Микросервисы, которые деплоятся независимо друг от друга.
Pavel
В моем понимании релиз это некий shared state проекта
Max
вот примерно этим я сейчас и занимаюсь XD
Max
у меня тут кодеры тупят в дженкинс
Max
как в ролике про шотландецв в лифте с голосовым управлением )
Vladimir
В моем понимании релиз это некий shared state проекта
Ну в моем случае этот "релиз" меняется по 5 раз на день.
Pavel
То есть какие тикеты мы бы ни делали всю неделю - все это один релиз на самом деле - то что будет задеплоено на прод
Anton
Ну тут путаница в терминах начинается. Слово "релиз" имеет два значения: 1) Условно говоря, git tag - метка, что определенное состояние проекта является цельным и полностью функциональным 2) Процесс выкатки проекта на бой При этом между двумя релизами-выкатками может быть несколько релизов-тэгов, в зависимости от флоу в организации
CMDR Jack
Это если релизы-выкатки вообще есть
CMDR Jack
Роллинг-релиз в компаниях тоже встречается
Anton
да, тоже верно
CMDR Jack
Обновили пакет, выкатили в стейдж, работает — пошел в прод
Azat
/stat
Combot
combot.org/chat/-1001057069601
CMDR Jack
Не выкатывают прям кусками большими
Vladimir
это называется canary release :)
CMDR Jack
или так, да
CMDR Jack
Вообще я почитал разговор. В разных компаниях свой воркфлоу и часто свое понимание терминов.
CMDR Jack
Где-то stage и test в одном, demo по-разному понимают, где-то релизят прям продукт целиком, где-то патчи тестируют и катят в продакшн небольшими кусками постоянно
CMDR Jack
Мне кстати очень нравится этот подход. Если stage заапрувлен на данный момент, то просто обновляем до того же состояния прод.
CMDR Jack
И неважно, один там пакет обновился или 28
CMDR Jack
Ну что значит хорошо
CMDR Jack
Конкретизируйте вопрос!
CMDR Jack
Вообще такой сторадж, который что-то ТЕРЯЕТ из-за пинга в 50мс это пиздец и выкинуть
CMDR Jack
Если его вообще юзают, такого не должно быть
CMDR Jack
А гластер кто-то всерьез использует?
CMDR Jack
Он, по моему опыту, при малейших проблемах в сети начинает капризничать
Sergei
А гластер кто-то всерьез использует?
тут есть один не заслуживающий доверия товарищ, утверждающий, что используют массово.
CMDR Jack
В итоге куча времени уходит на его поддержку
CMDR Jack
вот кстати чтоб прям терял не было
CMDR Jack
А вот брики пересинкать приходилось иногда
CMDR Jack
Там еще очень веселая штука с записью прямо в брик. Если такое случилось, то АВАРИЯ АВАРИЯ. Но такого просто не нужно допускать.
CMDR Jack
Но вообще да, отвратительный опыт работы с ним.
CMDR Jack
Внутренний садист предлагает NFS :D
CMDR Jack
Но это не решение, надо над ним писать
CMDR Jack
(собственно гластер над nfs работает)
CMDR Jack
Вопрос: нужна ли моментальная синхронизация
CMDR Jack
Если нет, то вариантов тонна
CMDR Jack
Причем лаже если да, то inotify и rsync на коленке
Sergei
Вопрос: нужна ли моментальная синхронизация
дефайн моментальная :) s3 например обещает всегда read-after-write, но допускает read-after-deletion
CMDR Jack
Допустимо ли, что объект не всегда синхронно доступен с любой ноды.
CMDR Jack
Ну то есть даже так: нужно распределенное хранилище или просто синхронизация данных.
CMDR Jack
Потому что это серьезно разные юзкейсы, которые друг с другом путают
CMDR Jack
по крону, угу
CMDR Jack
Вообще я гонял тучу данных по syncthing (миллионы файлов), ничего не терялось :3
CMDR Jack
Так что наверное, если синкать просто, то можно его попробовать
CMDR Jack
Это типа персональное решение, но удивительно неплохо работало на моих синтетических тестах промышленных масштабов
CMDR Jack
ну и да, у меня тестбенч — пачка машин в разных дц именно
CMDR Jack
Это не тестбенч специально, просто личная инфраструктура
CMDR Jack
Но так вышло, что это hetzner, Москва и DO
Sergei
lsyncd есть, если нужно готовое.
Sergei
если тебе нужно обязательно, чтобы не было read-after-delete или read-stale, то тебе фактически нужно CP-хранилище.
Sergei
consistency + partitioning
Sergei
https://ru.wikipedia.org/wiki/Теорема_CAP
Dmitry
так разная реализация совсем
Dmitry
если цеф OSD раскидать по всему миру, тоже хуйня получится
Dmitry
ну работать-то оно будет...
главное туда ничего не копировать? )
Sergei
да нет, даже копировать можно. но медленно.
CMDR Jack
Проблема в том, что gluster еще и развалится скорее всего
CMDR Jack
Будет лежать на спине и ныть
CMDR Jack
@vdrandom вот ты должен помнить веселье с гластером кстати