nodboxДокументация

Что такое деплой простыми словами

ЕН
Елизавета Наговицына
Контент4 минуты чтения
Коротко. Деплой - это перенос программы с компьютера разработчика на сервер, где она доступна другим людям. Слово происходит от английского deploy, «развернуть». Деплой включает сборку, доставку на сервер, запуск, публикацию по адресу и выпуск сертификата. Это отдельная работа: код, который отлично работает локально, сам по себе в интернете не появляется.
Содержание

Программа на вашем ноутбуке и программа в интернете - это одна и та же программа в двух разных состояниях. Работа по переводу из первого состояния во второе называется деплоем.

Определение

Деплой - это перенос программы с компьютера разработчика на сервер, где она становится доступна другим людям. Слово пришло из английского deploy - «развернуть», «привести в боевое положение».

В русском прижились три формы, и они означают одно и то же: «задеплоить», «развернуть», «выкатить». Ещё говорят «выложить» и «опубликовать» - обычно про сайты, реже про приложения.

Что происходит при деплое

Пять этапов. Первый и последний часто невидимы, но они есть.

1. Сборка. Исходный код превращается в то, что умеет запускаться: устанавливаются зависимости, компилируется фронтенд, собирается образ контейнера. На этом этапе выясняется, что у вас локально стояла библиотека, которой нет в списке зависимостей.

2. Доставка. Собранное попадает на сервер - через git, архивом, образом контейнера или иначе.

3. Запуск. Программа стартует и остаётся работать. Здесь ключевое слово - «остаётся»: процесс должен пережить закрытие терминала, перезагрузку сервера и собственное падение. Этим занимаются менеджеры процессов и оркестраторы.

4. Публикация. Программа слушает какой-то порт внутри сервера. Чтобы её увидел браузер, нужен адрес: домен, DNS-запись, обратный прокси, который принимает запросы на 443-й порт и перенаправляет их вашему процессу.

5. Сертификат. Без него браузер покажет предупреждение, а часть API откажется работать. Сертификаты выпускаются автоматически, но их надо настроить и не забыть про продление.

Слова, которые встретятся по дороге

Слово Что значит
Окружение Набор настроек: где база, какие ключи, какой режим. Обычно их два - локальное и продовое
Продакшен, «прод» Рабочее окружение, где живут настоящие пользователи
Переменные окружения Настройки, которые не лежат в коде: пароли, токены, адреса
Контейнер Программа вместе со всем окружением в одной упаковке
Обратный прокси Программа, принимающая запросы снаружи и раздающая их вашим процессам
Откат Возврат на предыдущую версию, когда новая сломалась
CI/CD Автоматика, которая делает всё вышеперечисленное по коммиту

Почему это отдельная работа

Каждый из пяти этапов - место, где что-то ломается по-своему.

Сборка ломается на несовпадении версий. Доставка - на правах доступа. Запуск - на переменных окружения, которых на сервере нет. Публикация - на DNS, который обновляется не мгновенно. Сертификат - на неправильно настроенном домене.

Ни одна из этих поломок не связана с вашим кодом. Код прекрасно работает. Это и есть главное, что удивляет человека при первом деплое: проблема не в программе, а в пространстве вокруг неё.

Как деплоят сейчас

Три подхода, от трудоёмкого к простому.

Вручную на свой сервер. Арендуете VPS, настраиваете всё сами: система, окружение, systemd, nginx, certbot, файрвол. Максимум контроля и максимум времени. Ошибка на любом шаге - и вы читаете форумы вместо того, чтобы делать продукт.

PaaS: git push. Подключаете репозиторий, платформа сама собирает и запускает. Так работают Railway, Render, Amvera, Vercel. Радикально проще - но требует, чтобы у вас был репозиторий, коммит и понимание git.

Через агента. Агент в вашем редакторе получает доступ к инфраструктуре и проходит все пять этапов сам, по фразе «задеплой это». Ни git, ни панели, ни конфигов - вы описываете задачу словами. Так устроен nodbox: платформа определяет стек, собирает проект, запускает его и возвращает адрес с уже работающим HTTPS.

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

Частые вопросы

Деплой и хостинг - одно и то же? Нет. Хостинг - это место, где программа живёт. Деплой - действие по её туда доставке и запуску. Хостинг покупают, деплой делают.

Нужен ли git для деплоя? Для большинства платформ да - они забирают код из репозитория. Но это требование платформы, а не природы вещей: код можно доставить и архивом.

Что такое «деплой упал»? Один из пяти этапов не прошёл. Чаще всего сборка - и почти всегда из-за зависимости, которая есть локально и отсутствует в списке.

Сколько занимает деплой? Первый - от получаса до нескольких дней, если делать вручную. Последующие - минуты. На платформах первый деплой обычно занимает столько же, сколько последующие, и это их главная ценность.

Коротко

  • Деплой - перенос программы с ноутбука на сервер, где её видят другие.
  • Пять этапов: сборка, доставка, запуск, публикация по адресу, сертификат.
  • Ломается обычно не код, а всё, что вокруг него.
  • Три способа: руками на VPS, через git push на платформу, через агента.

ЕНЕлизавета НаговицынаКонтент · Объясняет сложное простыми словами

Отвечает за то, чтобы документация и статьи nodbox читались человеком, а не только поисковиком. Разбирает термины, которые все употребляют и мало кто объясняет.

Все статьи автора →

Читать дальше