Начало работы
Первое знакомство с DWE: зайти в проект, запустить пайплайн деплоя, поднять стек и прочитать информационную панель.
Содержание
Заголовок раздела «Содержание»Зайти в проект
Заголовок раздела «Зайти в проект»Проект DWE — это любая директория с workspace.yml в корне. CLI автоматически находит её, поднимаясь вверх от текущей рабочей директории.
Минимальный скелет проекта:
my-project/├── workspace.yml└── workspace/ ├── defaults.yml └── services/ └── web/ └── service.ymlworkspace.yml объявляет идентификацию проекта:
project: name: my-project prefix: myprefixworkspace/defaults.yml задаёт значения по умолчанию для runtime и карту переключений опциональных сервисов:
runtime: use_https: false
services: web: enabled: trueworkspace/services/web/service.yml объявляет один сервис:
type: app
container: my-project-web
compose: - compose/services/web.yml
dir: services/webdirs: - logs
ports: http: 80
hosts: web: my-project.localhostПерейдите в проект и подтвердите, что CLI его распознаёт:
cd my-projectdwe validatedwe validate запускает проверки готовности проекта: env-пробы, декларативные проверки и валидаторы по доменам (сервисы, deploy, info, styles, …). Завершается с ненулевым кодом, если какая-то проверка падает. См. validate.yml для каталога проверок.
Первый dwe deploy
Заголовок раздела «Первый dwe deploy»Пайплайн деплоя устанавливает, настраивает и мигрирует прикладные сервисы. Он декларативен — workspace/deploy.yml перечисляет фазы и шаги. Если файла нет, DWE использует встроенный пайплайн по умолчанию, который встраивает собственный workspace/services/<name>/deploy.yml каждого включённого сервиса, запускает docker up --wait и выводит информационную панель.
Просмотрите разрешённый план перед запуском:
dwe deploy plandeploy plan только читает данные. Он загружает оркестратор и каждый включённый сервисный пайплайн, раскрывает шаблоны и цепочки extends:, применяет топологический порядок из after: и печатает итоговое дерево фаз/шагов, ничего не выполняя.
Выполните деплой:
dwe deploy runЗапуск показывает статус фаз и шагов маркерами ✓ ✗ ◎ · и дублирует вывод в .dwe/logs/deploy.log. Состояние пишется в .dwe/deploy/state.yml, чтобы повторные запуски пропускали шаги, у которых action_hash и входы не изменились — см. Состояние и блокировки.
Минимальный workspace/deploy.yml выглядит так:
log: true
phases: - name: services deploy_services: true
- name: start steps: - name: docker-up type: dwe cmd: docker up --waitМаркер deploy_services: true говорит оркестратору встроить в этой точке workspace/services/<name>/deploy.yml каждого включённого сервиса в топологическом порядке. Фаза start затем поднимает стек через Docker Compose. Все поддерживаемые типы шагов и билтины — см. в deploy.yml.
Первый dwe run
Заголовок раздела «Первый dwe run»dwe run управляет жизненным циклом, определённым в workspace/lifecycle.yml:
dwe runПорядок выполнения: опциональная проверка обновлений Git → before-run хуки → docker compose up → docker compose wait → after-run хуки → опциональный вывод info → финальное сообщение о готовности.
Используйте --no-update, чтобы пропустить проверку обновлений Git на чистой выгрузке, или --update on, чтобы её принудительно включить:
dwe run --no-updatedwe run --update onПравило приоритета: --no-update > --update > верхнеуровневый update.mode после мерджа — см. блок update:.
Остановите стек через dwe stop (запускает before-stop хуки → docker compose down → after-stop хуки). Перезапустите через dwe restart (stop + run с флагом --no-update).
Первый dwe info
Заголовок раздела «Первый dwe info»Информационная панель читает workspace/info.yml и рендерит проектный контекст: заголовок проекта, URL и хосты включённых сервисов, группы команд и любые кастомные секции.
dwe infoПо умолчанию DWE запускает info автоматически в конце run и deploy run. Отдельная команда выводит те же данные по требованию.
info.yml поддерживает элементы type: auto-urls и type: auto-hosts, которые раскрываются во время рендеринга из карт ports: и hosts: каждого включённого сервиса — поэтому панель остаётся синхронизированной с оверлеями сервисов без ручных правок. См. info.yml.
Что читать дальше
Заголовок раздела «Что читать дальше»- Архитектура — как
cli/,core/иshared/устроены вместе; что встроено, а что читается в runtime. - Раскладка проекта — для чего каждая папка в
workspace/и что генерируется в.dwe/. - Пайплайны — модель выполнения phase / step / condition, общая для deploy, reset и lifecycle.
- Интеграция с Docker — сборка compose-файлов, формирование имени проекта, случаи обхода lifecycle.
- Состояние и блокировки — что записывает
state.yml, какdeploy.lockиsnapshot.lockсериализуют изменения. - Справочник по конфигурации — справочник на уровне полей, когда уже понятна общая структура системы.
- Запустите
dwe docsдля того же содержимого в интерактивном браузере илиdwe docs llms-txtдля компактного индекса для AI-агента.