Сценарий разработчика (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.
Типичный день¶
odpm— подготовка и запуск контейнеров.odpm -d dev_db -u— обновить модули после правок.- Отладчик в VS Code — по необходимости.
http://127.0.0.1:8069— проверка в браузере.
После смены POSTGRES_SERVICE_NAME или порта в .env — odpm database status и odpm plan --skip-start перед полным перезапуском.
Смена на другой сценарий¶
- Измените
ODPM_SCENARIOв.envкаталога проекта (он важнее файла в~/.odpm/). - Выполните
odpm --skip-start. - Перезапустите контейнеры:
docker compose up -dили сноваodpm.
Сравнение сценариев: масштабирование.