Как стать автором
Обновить

Понимание разницы между СI и СD: «если что-то вызывает боль, делайте это почаще»

Время на прочтение9 мин
Количество просмотров27K
Всего голосов 45: ↑43 и ↓2+41
Комментарии15

Комментарии 15

Тестируют только трусливые программеры, смелые — правят код на проде!
Не смелые, а безумные. :-)

Безумие и отвага!

Слабоумие и отвага! © не мой
:-)
Ну, это как с пожилыми смелыми альпинистами — излишне смелый программист быстро перестаёт быть программистом (по меньшей мере на текущем месте работы).

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

Ну… Всегда можно свалить на менеджера.
Хотели быстро — получили быстро! :-)
Есть фичи которые большие и половинками их запихать низя, а если она трогает основные куски кода, а если таких фич не одна + рефакторинг и переделка данных, так что CD работает только с достаточно маленькими кусочками, а с большими только через релизы, УИ отлично работают с CD, так как всё достаточно локально, а рефакторинг они в принципе не делают(что мне очень не нравиться), в БЕ всё намного сложнее, надо впихнуть логику в общую чтоб не плодить кучу имплементаций одного и тогоже, но для разных стран, всё впихнулось теперь надо права допилить и придумать как старую структуру данных переделать под новую ничего не потеряв, все 3 таска никак нормально не распаралелить, ну разве что изначально будет спека уже техническая, но создание такой спеки тоже не распаралелись и она должна быть достаточно свежей, ведь пока её писали тоже могло появиться чтото новое или измениться. Как-то так ну или я просто ещё дурачёк и не знаю как сложные линейные задачи распаралелить.

Вобщем иногда код это ракета и без того что сделаешь всё и правильно она не полетит :)
но к CD надо как минимум стремиться
НЛО прилетело и опубликовало эту надпись здесь
а если таких фич не одна + рефакторинг и переделка данных

Тогда стоит делать это отдельными частями, именно так, как вы сказали (хотя переделку данных хорошо бы сделать вначале).

УИ отлично работают с CD, так как всё достаточно локально, а рефакторинг они в принципе не делают

Смотря кто. У меня в проекте он делается по необходимости.

ну разве что изначально будет спека уже техническая, но создание такой спеки тоже не распаралелись и она должна быть достаточно свежей, ведь пока её писали тоже могло появиться чтото новое или измениться.

Для чего-то столь сложного спека нужна и без CI/CD. И еще хорошо-бы версионирование поодерживать.
НЛО прилетело и опубликовало эту надпись здесь
Попробуйте воспользоваться BETA/Feature флагами. Все что за флагом — выключено у всех, либо у тех, у кого флаг отсутствует. Таким образом если если код новый — вообще нет проблем. Если перемежается со старым — то да, добавляет complexity. Нет серебряной пули — по каждому коду нужно решать на месте уже. Однако обычно флаги хорошо работают и дают возможность использовать часть кода другими участниками проекта до того, как им будут пользоваться пользователи.

Также этот подход позволяет умирать быстро — если вдруг код ломает что-то, то это позволяет исправить ошибку до финального релиза — когда снимается флаг и функционал становится публичным.

Всё верно написано кроме слова — дурачОк.

Очень полезная статья. Хороший перевод, включая и иллюстрации. Такой перевод не часто встретишь. Надеюсь, ребята не забросят, будут новые качественные статьи
Зарегистрируйтесь на Хабре, чтобы оставить комментарий