Деплой
Drag-and-drop, CLI и API: как выбрать способ деплоя
Три способа передать статический проект в Deploya и ситуации, в которых каждый из них сокращает лишние действия.
Способ деплоя определяет, как файлы попадут на сервер. Сам сайт после публикации работает одинаково: меняется только путь от локальной папки до новой версии проекта. ## Drag-and-drop Перетаскивание подходит для первой публикации, разовой страницы и проекта, который обновляется вручную. В окне до отправки видны все выбранные файлы и их размеры. Это позволяет заметить пустую папку, лишний архив или отсутствие `index.html`. При обновлении доступны два режима. «Заменить все» собирает версию только из нового набора и удаляет старые файлы. «Только изменённые» накладывает загруженные файлы поверх текущей версии. Второй режим быстрее для одной правки, но не удаляет больше не нужный файл. ## CLI Командная строка удобна, когда проект редактируется регулярно. Команда запускается из каталога сайта и передаёт его без ручного выбора файлов в браузере. ```bash deploya login deploya deploy ``` CLI можно включить в локальный сценарий сборки: ```bash npm run build && deploya deploy ./dist ``` Перед выполнением стоит проверить текущую папку. Ошибка на один уровень часто отправляет `node_modules`, исходники или соседние проекты и упирается в лимит хранилища. ## API API нужен внешнему сервису или автоматизации. Он подходит для генератора сайтов, внутренней панели агентства и CI, где публикация запускается событием. Токен нельзя хранить в браузерном JavaScript или открытом репозитории: запрос выполняется на сервере или в защищённом CI-секрете. ```bash curl -X POST https://app.deploya.ru/api/v1/deployments -H "Authorization: Bearer $DEPLOYA_TOKEN" -H "Idempotency-Key: <uuid>" -F "archive=@site.zip" -F "target=production" ``` Точный адрес и набор полей берутся из документации API: интерфейс может расширяться вместе с поддержкой версий и рабочих пространств. > Место для скриншота: один проект с тремя подписями источника — Drag-and-drop, CLI и API — в истории деплоев. Для проекта без автоматизации достаточно drag-and-drop. CLI убирает повторяющиеся клики при локальной разработке. API имеет смысл, когда публикацию инициирует другая программа. Переход между способами не требует создавать новый проект: источник фиксируется в истории очередного деплоя.