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

Роль координатора в команде

В небольших и средних командах Odoo полезно выделить координатора (ведущий разработчик или ответственный за инфраструктуру), который следит за целостностью описания проекта и фиксацией версий зависимостей. Остальные разработчики в основном работают со своими ветками модулей, не меняя стек «втихую».

Разделение обязанностей

Артефакт Координатор Обычный разработчик
odpm.json Меняет зависимости, версии Python/Odoo/PostgreSQL Читает, не форкает стек локально
.odpm/deps.lock.json Обновляет после согласования (--update-lock), коммитит Получает из git, сборка по фиксации
Поле developing в lock Фиксирует для сервера и сборки В сценарии developer своя ветка не принудительно совпадает с lock

Как вносить изменение зависимостей

  1. Обсуждение и pull request с правкой dependencies, requirements_txt или oca_dependencies.txt.
  2. На машине координатора: odpm --update-lock --skip-start.
  3. Коммит lock-файла вместе с описанием.
  4. В автоматической проверке: 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 другой» перед релизом.