Что такое деплой простыми словами
Содержание
Программа на вашем ноутбуке и программа в интернете - это одна и та же программа в двух разных состояниях. Работа по переводу из первого состояния во второе называется деплоем.
Определение
Деплой - это перенос программы с компьютера разработчика на сервер, где она
становится доступна другим людям. Слово пришло из английского 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 читались человеком, а не только поисковиком. Разбирает термины, которые все употребляют и мало кто объясняет.