Size: a a a

2020 August 04

SP

Sergey Protko in PHP
если у тебя тестирование руками то не особо важно ветки или конфиги - будут проблемы
источник

SP

Sergey Protko in PHP
если у тебя 3 джуна которые чет делают - то возможно ветки будут проще. думаю где-то после 5ти джунов каждый из которых свои штуки мерджит уже будут пробелмы
источник

SP

Sergey Protko in PHP
почему - гуглить зачем придумали континиус интегрейшенс и откуда там правило про "интегрировать изменения как можно быстрее"
источник

VS

Vyacheslav Startsev in PHP
Константин Грачев
Я у себя так сделал, если происходит пуш в ветку rc, то CI её автоматически деплоид на прод и ветку rc убивает.
Помогает уменьшить количество bugfix коммитов в мастере)

В идеале я себе это вижу так - CI деплоит новое окружение и переключает на него трафик не убивая окружение мастера.
Далее смотришь в логи, если повалили ошибки, кнопку отката, трафик переключается обратно на рабочий код.
В идеале конечно и откат чтобы был автоматический, типа как sentry отслеживает с какого релиза были ошибки, если ошибка новая - сразу откат.

Ну это так, мои влажные фантазии
А как быть с БД? Если там есть неоткатываемые изменения? Типа drop column?
источник

I

Igor in PHP
Sergey Protko
если у тебя 3 джуна которые чет делают - то возможно ветки будут проще. думаю где-то после 5ти джунов каждый из которых свои штуки мерджит уже будут пробелмы
я собственно также думал, просто уровень еще не позволяет идти в это. Спасибо за инфу
источник

SP

Sergey Protko in PHP
Vyacheslav Startsev
А как быть с БД? Если там есть неоткатываемые изменения? Типа drop column?
не делать дроп колумн)
источник

КГ

Константин Грачев... in PHP
Vyacheslav Startsev
А как быть с БД? Если там есть неоткатываемые изменения? Типа drop column?
Аккуратнее быть.
Вообще должен быть регрессный тест, который тестирует что старый код способен работать с новыми миграциями.
Как минимум потому что у тебя миграции и запуск кода не происходят одновременно и желательно сначала накатить миграции, и только потом спокойной запустить новый код.
Ибо новый код без новых миграций точно не заработает
источник

AD

Andrey Dembitskyi in PHP
Константин Грачев
Аккуратнее быть.
Вообще должен быть регрессный тест, который тестирует что старый код способен работать с новыми миграциями.
Как минимум потому что у тебя миграции и запуск кода не происходят одновременно и желательно сначала накатить миграции, и только потом спокойной запустить новый код.
Ибо новый код без новых миграций точно не заработает
или наоборот
источник

SP

Sergey Protko in PHP
Vyacheslav Startsev
А как быть с БД? Если там есть неоткатываемые изменения? Типа drop column?
я сча серьезно - можно накапливать подобные изменения и после того как код уже точно не использует эти штуки дропать из схемы
источник

КГ

Константин Грачев... in PHP
Andrey Dembitskyi
или наоборот
всмысле?
источник

AD

Andrey Dembitskyi in PHP
код может работать и без миграции
источник

КГ

Константин Грачев... in PHP
Andrey Dembitskyi
код может работать и без миграции
Новый?
источник

AD

Andrey Dembitskyi in PHP
+
источник

КГ

Константин Грачев... in PHP
Если у меня в новом коде новые сущности, как он без миграций будет работать?
источник

VS

Vyacheslav Startsev in PHP
Sergey Protko
я сча серьезно - можно накапливать подобные изменения и после того как код уже точно не использует эти штуки дропать из схемы
Ну да, сейчас так и делаем. Не дропаем как минимум ещё 3 релиза
источник

AM

Artem Molotov in PHP
Константин Грачев
Аккуратнее быть.
Вообще должен быть регрессный тест, который тестирует что старый код способен работать с новыми миграциями.
Как минимум потому что у тебя миграции и запуск кода не происходят одновременно и желательно сначала накатить миграции, и только потом спокойной запустить новый код.
Ибо новый код без новых миграций точно не заработает
при этом тестить надо "по одной миграции", да?
источник

AM

Artem Molotov in PHP
а не сразу после пачки
источник

AD

Andrey Dembitskyi in PHP
Константин Грачев
Если у меня в новом коде новые сущности, как он без миграций будет работать?
я думал мы про обновление чего-то, что уже используется
источник

КГ

Константин Грачев... in PHP
Artem Molotov
при этом тестить надо "по одной миграции", да?
почему?
источник

AM

Artem Molotov in PHP
потому что миграции не проходят в одной транзакции и код может работать с промежуточным (между миграциями) состоянием
источник