Термин
CI/CD
Автоматическая сборка, тестирование и развёртывание софта после каждого изменения кода. Снижает риск, что правка в одной части системы тихо сломает другую.
Обновлено
Что это значит
CI означает, что после каждого изменения кода проект автоматически собирается и прогоняются тесты. CD добавляет автоматическое развёртывание: сначала на staging, после одобрения - в продуктив.
Выигрыш не в скорости, а в том, что ошибка находится через минуты после изменения, пока автор ещё помнит контекст. Без автоматизации она находится через неделю, когда изменений уже двадцать.
Буква D в сокращении означает две разные вещи. При непрерывной доставке каждая версия готова к развёртыванию, но в продуктив её выпускает человек. При непрерывном развёртывании в продуктив автоматически уходит каждое изменение, прошедшее тесты. Для систем, связанных с учётной программой или выставлением счетов, обычно безопаснее первый вариант с ручным одобрением.
Как это работает на практике
В проектах на заказ, таких как CRM или интеграция через API, это условие поддерживаемости. Один разработчик справится и без этого, команда из трёх - уже нет.
Частью обычно является автоматическая проверка зависимостей и уязвимостей. Это дешевле пентеста и ловит большинство обычных проблем до того, как они попадут в продуктив.
При интеграциях с учётной системой, например при выгрузке счетов из интернет-магазина, в автотесты входят и реальные случаи из практики: кредит-нота, счёт в иностранной валюте, несколько ставок НДС в одном документе, округление. Иначе ошибка в одном из них проявится только при месячном закрытии, когда суммы не сходятся и приходится искать, какая версия её внесла.
На что обратить внимание
Разворачивать автоматически без тестов хуже, чем вручную: ошибка доезжает до клиентов быстрее. А если красные тесты привыкли прокликивать, они перестают быть сигналом и становятся техническим долгом.
Автоматическому развёртыванию нужен и путь назад. Если новая версия испортит данные, недостаточно откатить код, нужно уметь восстановить и базу. Для этого нужно резервное копирование данных перед каждым изменением структуры базы и порядок восстановления, который хотя бы раз действительно проверили, а не только описали.
Нужно объяснить термин на вашей конкретной ситуации? Консультации от 55 € / час без НДС, в зависимости от темы и сложности.