Перейти к содержимому

Концепции

Высокоуровневое описание того, что такое DWE и как устроены его части. Прочитайте эти страницы перед погружением в справочник по конфигурации на уровне полей.

Страницы упорядочены для первого чтения: начните с «Начала работы», затем пройдитесь по архитектуре и раскладке проекта, потом по слоям взаимодействия (Docker, Git, пайплайны), и завершите состоянием и блокировками.

  • Начало работы — установите бинарник, перейдите в проект, запустите свой первый dwe deploy и dwe run, посмотрите информационную панель и сориентируйтесь, что читать дальше.
  • Архитектура — взгляд на границу: что относится к DWE, а что — к Docker; как команда dwe превращается в вызов docker compose; и какое состояние хранится на диске, а какое — в Docker engine.
  • Раскладка проекта — как реальный проект DWE выглядит на диске: workspace.yml в корне, дерево конфигурации workspace/ с services/, commands/, templates/, i18n/ и scripts/; параллельные оверлеи compose/; и runtime-артефакты в .dwe/.
  • Интеграция с Docker — как DWE управляет Docker Compose: формирование имени compose-проекта, список compose-файлов, собранный из базы + оверлеев сервисов + tools + local, проброс окружения, конвенции по томам и почему некоторые lifecycle-команды обходят compose и вызывают docker stop / docker rm напрямую.
  • Интеграция с Git — что DWE рендерит в Git: шаблоны shell-хуков, копируемые в <svc.Dir>/src/.git/hooks/, наследование хуков через корень пака, отображение dwe status git и конвенции .gitignore, которые удерживают .dwe/ вне контроля версий.
  • Пайплайны — модель выполнения phase → step → condition, общая для deploy, reset и lifecycle: как работают параллельные группы, как наследуются переопределения суб-шагов, доступные типы шагов и три вида условий (when:, check:, files_gate:).
  • Состояние и блокировки — как .dwe/deploy/state.yml записывает хэши и решает, что пропустить; как deploy.lock и snapshot.lock берутся в алфавитном порядке и освобождаются в обратном; как DWE восстанавливается после падения посреди пайплайна; и как pending-состояние откладывает работу между services enable и следующим deploy run.
  • Хост-бридж — запуск dwe изнутри dev-контейнеров: статический shim-бинарник, подменяющий dwe, stateless-демон на хосте, которому он пересылает вызовы, транспорты unix-сокет / TCP, allowlist-политика команд, генерируемый compose-оверлей и подкоманды dwe bridge.
  • Справочник по конфигурации — справочник по полям для каждого конфигурационного файла.
  • Render-пакиdwe render env, render ide, render ai, render git.
  • Запустите dwe --help (или любую подкоманду с --help) для актуального дерева команд.