Перейти до змісту

Setup-команди проєкту

Команди виконуються послідовно після запуску DDEV, перевірки target DB та завершення Composer, перед phase: ready.

setup:
  composer_install: true
  commands:
    - "ddev drush cr"

Для Drupal DB updates, config import і deploy hooks замініть cache-only команду на ddev drush deploy -y. Deploy уже перебудовує кеш: контракт Drush deploy.

Правила виконання

Рядки розбираються на аргументи без shell expansion. Можна використати argv array:

setup:
  commands:
    - [ddev, drush, deploy, '-y']
    - [bash, .ddev/scripts/worktree-setup.sh]

Команда з початковим ddev виконується на хості в target checkout. Інші команди запускаються в його контейнері через ddev exec --raw --. Для &&, pipes або розгортання змінних винесіть логіку в явний shell-скрипт. Користувацькі scripts належать проєкту; їх треба закомітити або надати через локальний setup.

Повтори та помилки

Успішні команди отримують checkpoints. Повторний init без зміни конфігурації та Composer manifests пропускає завершений bootstrap. Зміна конфігурації/manifests або необхідне повторне встановлення Composer може знову запустити bootstrap під час наступного init. Помилка зупиняє setup; retry продовжує з незавершеної команди.

Команди повинні бути ідемпотентними: збій після їх виконання, але до збереження receipt, може повторити команду. Це setup-фаза, без гарантії exactly-once. Окремі user hooks after_start / before_remove не реалізовані. Manager пропускає звичайні DDEV hooks під час snapshot/start; потрібну ініціалізацію задавайте тут.