Роль координатора в команде¶
В небольших и средних командах Odoo полезно выделить координатора (ведущий разработчик или ответственный за инфраструктуру), который следит за целостностью описания проекта и фиксацией версий зависимостей. Остальные разработчики в основном работают со своими ветками модулей, не меняя стек «втихую».
Разделение обязанностей¶
| Артефакт | Координатор | Обычный разработчик |
|---|---|---|
odpm.json |
Меняет зависимости, версии Python/Odoo/PostgreSQL | Читает, не форкает стек локально |
.odpm/deps.lock.json |
Обновляет после согласования (--update-lock), коммитит |
Получает из git, сборка по фиксации |
Поле developing в lock |
Фиксирует для сервера и сборки | В сценарии developer своя ветка не принудительно совпадает с lock |
Как вносить изменение зависимостей¶
- Обсуждение и pull request с правкой
dependencies,requirements_txtилиoca_dependencies.txt. - На машине координатора:
odpm --update-lock --skip-start. - Коммит lock-файла вместе с описанием.
- В автоматической проверке:
odpm plan --strict.
Локальные пути file:// и команда¶
Ссылка вида file:///... удобна одному разработчику на своём диске. Для общей сборки и синхронизации команды надёжнее удалённый git. Для локальной платформы в lock записывается отпечаток каталога, а не хеш коммита — подробнее в deps.lock.json.
Если в git хранится manifest с ${VAR} (например file://${ODOO_PLATFORM_DIR}), координатор перечисляет обязательные переменные в README проекта, в project .env.example или в инструкции CI. Значения не коммитят в odpm.json — только в .env (локально) или в secrets runner / export (CI).
Общий язык — odpm plan¶
Команда видит одинаковый план подготовки:
odpm plan --skip-start
odpm plan --plan-show-diff --skip-start
odpm plan --plan-strict --skip-start
Это снижает споры «у меня compose другой» перед релизом.