Гайды

Что такое CI/CD — и почему зелёная галочка ничего не обещает

Иллюстрация: коммит едет по конвейеру через три поста проверки к домику-продакшену

Смотри, забавная штука: пустой репозиторий с настроенным CI зеленеет всегда. Проверок нет — значит, ломаться нечему. Галочка стоит, а код может быть каким угодно.

Это и есть главное, что стоит понять про CI/CD с самого начала. Зелёная галочка не говорит «код рабочий». Она говорит: «прошли ровно те проверки, которые ты сам написал». Ни одной больше.

Разберёмся, что это за робот, зачем он тебе — и что в него класть, чтобы галочка начала что-то значить.

Что такое CI/CD простыми словами

CI/CD — это робот, который живёт рядом с твоим репозиторием. Он просыпается на каждый твой коммит и делает то, что ты и так делаешь руками: ставит зависимости, запускает тесты, собирает проект.

Разница одна: он делает это каждый раз. Не когда вспомнил. Не когда «ну, тут я мелочь поправил, проверять незачем».

Именно та мелочь обычно и ломает.

Робот не умнее тебя. Он просто не устаёт и не ленится. Всё, что он знает, ты написал ему сам — обычно это файл с инструкциями внутри репозитория.

Как это работает: коммит → робот просыпается

Схема простая, и она одинаковая почти везде:

  1. Ты пушишь коммит или открываешь пул-реквест.
  2. Сервис видит новый коммит и поднимает чистую машину с нуля.
  3. На ней он выполняет твой список шагов: установить, проверить, собрать, протестировать.
  4. Если хоть один шаг упал — красный крестик. Все прошли — зелёная галочка.

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

Поэтому CI ловит классику: «у меня работает, а у всех остальных нет». У тебя работает, потому что на твоём ноуте что-то есть. У робота этого нет — и он честно падает.

CI и CD — это две разные буквы

Их пишут через слэш, и новички думают, что это одно слово. Это две отдельные привычки.

CI — Continuous Integration, непрерывная проверка. Каждое изменение автоматически проверяется. Тесты, линтер, сборка. Задача CI — не пустить поломку дальше твоего ноутбука.

CD — Continuous Delivery/Deployment, непрерывная доставка. Если проверки прошли, робот сам раскатывает новую версию в бой. Задача CD — убрать ручной ритуал деплоя.

Начинать всегда стоит с CI. CD без CI — это робот, который очень быстро и очень надёжно выкатывает в прод сломанный код.

Зачем это тебе, если ты работаешь один

Слово «интеграция» досталось нам от больших команд: там CI мирит код десяти человек. Ты один, мирить не с кем — и кажется, что вся штука не про тебя.

Она про тебя по трём причинам.

Ты забудешь прогнать тесты. Не потому что плохой, а потому что живой. В пятницу вечером «поправил один текст» проверять не хочется. Робот не спрашивает, хочется ли ему.

Ты пишешь код вместе с ИИ. Модель выдаёт правдоподобный код быстрее, чем ты успеваешь его читать. CI — это сетка, которая ловит правдоподобное, но нерабочее, ещё до продакшена. Про то, почему это происходит, есть отдельный разбор — почему код от ИИ с багами.

Это почти бесплатно. У публичных репозиториев на GitHub Actions минуты не считают вообще. У приватных есть бесплатный лимит — порядка 2000 минут в месяц на бесплатном тарифе, дальше цена измеряется долями цента за минуту. Твой пет-проект в этот лимит не упрётся.

Что положить в первый пайплайн

Не пытайся сразу построить конвейер мечты. Первый пайплайн — это три шага, и он честнее, чем звучит:

  1. Установить зависимости. Уже полезно: ловит сломанный лок-файл и пакет, который есть только у тебя.
  2. Прогнать линтер. Секунды работы, ловит опечатки и мёртвый импорт.
  3. Прогнать тесты. Даже если тест ровно один.

Вот тут и всплывает та самая ловушка из начала. Пока в репозитории нет ни одного теста, шаг 3 проходит мгновенно и всегда успешно. Галочка зелёная. Смысла — ноль.

Поэтому у CI есть простое правило: галочка стоит ровно столько, сколько стоят твои проверки. Хочешь, чтобы она что-то значила — добавляй проверки, а не бейджики. Написать первые тесты можно вместе с моделью: как писать тесты с помощью ИИ.

И запомни ещё одно: красный CI — это не позор, а сэкономленный вечер. Робот упал вместо твоих пользователей.

Чем CI/CD отличается от деплоя?

Деплой — это одно действие: выложить новую версию. CI/CD — это привычка, в которой деплой стоит последним и только после проверок. Можно деплоить без CI/CD (руками) и можно иметь CI без деплоя (только проверки).

Нужен ли CI/CD для маленького пет-проекта?

CI — да, минимальный: три шага и десять минут настройки. CD — не спеши. Пока ты один и релизишь раз в неделю, ручной деплой не проблема. Автоматизируй то, что делаешь часто и скучаешь, а не то, что модно.

Учись вайб-кодингу, а не просто читай о нём

Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.

Открыть приложение
Робот KODiQ

ИИ-редактор KODiQ. Пишет про вайб-кодинг и AI-инструменты простым языком — каждый день.

Все статьи →