Перейти к содержанию

Сценарий разработчика (developer)

Переменная ODPM_SCENARIO=developer — режим локальной разработки на своём компьютере. Это значение по умолчанию.

Назначение

Разработчик пишет код модулей, отлаживает его в редакторе, часто перезапускает обновление модулей и пользуется режимом разработки Odoo (автоперезагрузка и связанные возможности). Исходники платформы и дополнений подключены с диска хоста в контейнер — правки на диске сразу видны процессу Odoo (с учётом политики перезагрузки).

Поведение окружения

Область Как устроено
Отладчик Режим ODPM_DEBUGGER_BACKEND: debugpy_listen (контейнер слушает, VS Code / PyCharm Attach) или pydevd_connect (PyCharm Debug Server). Порт DEBUGGER_PORT — см. отладка в IDE.
Секреты модулей Опционально: .odpm/secrets.json → mount /run/odpm/secrets.jsonлокальные секреты.
PostgreSQL Порт базы доступен на хосте (не только с интерфейса loopback) — удобно для локальных утилит. Состояние кластера и drift: database-state.md.
Исходники Каталоги платформы, разрабатываемого проекта и зависимостей подключены с компьютера разработчика.
Окружение Python Режим «пересоздаваемый»: при изменении файла фиксации версий окружение может быть пересобрано.
Сборка CI-образа Команда --build-image недоступна (только сценарий ci).

Режим разработки Odoo (dev_mode)

В user_settings.json поле dev_mode задаёт флаги Odoo --dev (например reload, xml, all — см. документацию Odoo). Работает только в этом сценарии. При значениях reload или all odpm добавляет пакет inotify в требования Python для автоперезагрузки кода.

После изменения dev_mode пересоздайте compose: odpm --skip-start.

Типичный день

  1. odpm — подготовка и запуск контейнеров.
  2. odpm -d dev_db -u — обновить модули после правок.
  3. Отладчик в VS Code — по необходимости.
  4. http://127.0.0.1:8069 — проверка в браузере.

После смены POSTGRES_SERVICE_NAME или порта в .envodpm database status и odpm plan --skip-start перед полным перезапуском.

Смена на другой сценарий

  1. Измените ODPM_SCENARIO в .env каталога проекта (он важнее файла в ~/.odpm/).
  2. Выполните odpm --skip-start.
  3. Перезапустите контейнеры: docker compose up -d или снова odpm.

Сравнение сценариев: масштабирование.