2. Генерация и развёртывание
Часть 2 из 4. Назад: правка и публикация. Далее: второе развёртывание.
Генерация на вашей машине
Заголовок раздела «Генерация на вашей машине»CMS не компилирует исходники. Раздел Настройки → Код и публикация отвечает source_build_runtime_unavailable при попытке запустить генерацию на сервере. Генерируйте локально из копии БД CMS:
npm run backend:generate -- --site <site-id> --source <cms.sqlite> --dest <output-directory> --db <scratch.sqlite>Команда записывает и проверяет проект. Она ничего не пушит и ничего не развёртывает. npm run backend:deliver выполняет ту же генерацию, затем пушит в ваш репозиторий и запускает первое развёртывание (руководство по отделению).
Перед генерацией откройте Настройки → Код и публикация → Дополнительно — вебхук сборки и развёртывание → Standalone-бэкенд. Там перечислены все структуры моделей, которые не поддерживает генерация, например лимиты выбора связи, которым не может удовлетворить ни один список.
Чем вы теперь владеете
Заголовок раздела «Чем вы теперь владеете»| Вид | Примеры | При регенерации |
|---|---|---|
| Генерируемые | prisma/schema.prisma, src/app.ts, scripts/*.mjs, data/published-snapshot.json, .github/workflows/dee-wan-build.yml |
Перезаписываются. Если вы правили такой файл, следующая генерация завершится отказом с указанием его имени и ничего не изменит. |
| Свои | src/owned/, apps/site/src/owned/, apps/site/src/pages/owned/ |
Больше не перезаписываются. |
| Общие | package.json, wrangler.jsonc, README.md, ваши собственные workflow |
Записываются один раз. В package.json добавляются недостающие обязательные ключи. Ваши значения остаются. |
| Строки CMS | Строки в генерируемых таблицах контента | Заменяются из опубликованного снимка, когда он меняется. Строка, которой нет в снимке, удаляется, кто бы её ни записал. |
| Ваши таблицы и строки | Таблицы, которые создают ваши миграции | Сохраняются. Держите свои данные здесь, никогда не в генерируемых таблицах. |
Полное правило зон — в разделе расширение бэкенда.
Развёртывание готового коммита
Заголовок раздела «Развёртывание готового коммита»Чтобы запушить уже сгенерированный проект и развернуть именно этот коммит, используйте управляемую передачу кода в репозиторий:
npm run wire:github -- --repo owner/site-source --project ./generated/site --managed --operation delivery-1CLI проверяет удалённый коммит до того, как шифрует секреты или запускает workflow. Учётные данные перечислены в аутентификации GitHub. Успех CLI означает, что GitHub принял запуск, а не что развёртывание завершилось.
Назначение учётных данных
Заголовок раздела «Назначение учётных данных»Значения секретов не включаются в исходники репозитория и не сохраняются в CMS.
| Имя | Где хранится | Для чего |
|---|---|---|
CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID |
Секреты вашего репозитория | Создание и развёртывание Worker, БД и сайта |
API_BEARER_TOKEN |
Секреты вашего репозитория и ваше окружение | Токен записи генерируемого API. verify:deployment |
DEE_WAN_URL, BUILD_TOKEN |
Управляемый workflow. CMS выпускает BUILD_TOKEN на каждую сборку |
Получение определений, пока сайт подключён |
ARTIFACT_* |
Секреты вашего репозитория | Необязательный вход в генерируемый бэкенд |
Далее: второе развёртывание.
Стабильная версия ещё не выпущена (pre-MVP)
Коммит исходного кода: fe23db481c422b40e317b92fc98116b4c0c26a87 (с локальными изменениями)
Дата сборки (UTC): 2026-10-18T09:22:34.630Z
Коммит для обновления: не определён: в рабочей копии есть изменения. Примечания к выпуску