Порядок команд drush для автоматического развертывания?

8
Paul Canning 2018-01-24 16:29.

В каком порядке следует запускать следующие команды drush?

  • config-import
  • обновленоb
  • обновления сущностей

Кроме того, я вижу, что обновления сущностей часто терпят неудачу из-за существующих таблиц field_delete_data *. Как я могу удалить их при автоматическом развертывании?

2 answers

19
leymannx 2018-01-25 00:54.

Drush 10.3.0 теперь обеспечивает deployкоманду стандартизировать , как Drupal работает для развертывания. Эта команда выполняет следующее:

drush updatedb --no-cache-clear
drush cache:rebuild
drush config:import
drush cache:rebuild
drush deploy:hook

Обновление базы данных всегда происходит перед импортом конфигурации! Поддержка автоматического обновления сущностей была удалена из ядра Drupal ( запись изменений ) и entupудалена из ядра Drush. Всякий раз, когда необходимо создать, изменить или удалить тип объекта или определение хранилища поля, это нужно сделать через hook_update_N().


Вот обновленная процедура развертывания, которой я больше всего доволен.

drush state:set system.maintenance_mode 1
drush cache:rebuild
git pull
composer install --no-dev
drush cache:rebuild
drush deploy
drush state:set system.maintenance_mode 0
drush cache:rebuild

Это также означает, что вам нужно запустить две версии, если вы хотите удалить и удалить модуль contrib. Первый выпуск для развертывания обновленной конфигурации, отключающей модуль. Второй выпуск для развертывания обновленного composer.json и файла блокировки после его удаления с помощью Composer.

Чтобы сделать возможными реальные последовательные выпуски, вы можете передать SHA1 фиксации текущего выпуска сценарию развертывания, а затем заменить git pullего более точной процедурой (где $1SHA1):

# If not empty 1st argument passed to the script, do:
if [ -n "$1" ]; then
  git reset --hard "$1"
else
  git pull
fi

В противном случае последовательность не может быть гарантирована, если вы разместите два новых выпуска одновременно или в течение короткого периода. Так как тогда запускаемый первый выпуск git pullбудет просто извлекать последние изменения (из второго выпуска), вместо этого он должен извлекать только изменения, включенные в первый выпуск. См. Полный образец репо leymannx/drupal-circleci-behat.

Кредит за этот gitфрагмент принадлежит CircleCI . Вот как они это делают в своих контейнерах.

1
josephdpurcell 2020-04-13 23:49.

Последовательность команд должна быть:

updatedb (which runs update hooks)
config-import

Вы не хотите запускать обновления объекта, потому что он устарел, см. https://www.drupal.org/node/3034742. Вместо этого полагайтесь на обработчики обновлений (hook_update_N) для правильного изменения любой схемы базы данных или необходимых конфигураций.

Крайне важно, чтобы updatedb был первым запуском команды, запускающей Drupal после изменения кода. Ты можешь видетьhttps://www.drupal.org/project/commerce/issues/3100553 для некоторых комментариев о том, какие проблемы могут возникнуть, если этого не сделать.

Пример сценария развертывания

Вот пример сценария развертывания, за которым было много обзоров и обсуждений, но считайте его отправной точкой. Вероятно, вы захотите внести некоторые изменения. Предполагается, что вы развертываете артефакт (обратите внимание, что установка композитора не запускается при развертывании).

drush sset system.maintenance_mode TRUE
# Create a restore point by taking backups of anything that is not in the code repository: database, media, cache
# Checkout the code you are deploying
drush updb
drush cim sync -y || drush cim sync -y
drush cim sync -y
drush sset system.maintenance_mode FALSE
drush cr

Ты можешь видеть https://www.bounteous.com/insights/2020/03/11/automate-drupal-deployments/для более глубокого объяснения этого. Смотрите такжеhttps://github.com/drush-ops/drush/pull/4359/ который является PR для включения команды развертывания в Drush.

Я упомянул, что приведенный выше сценарий является отправной точкой, я задокументировал некоторые варианты, которые вы, возможно, захотите применить к этому сценарию (или любому сценарию развертывания, который вы используете), которые могут быть полезны: https://www.bounteous.com/insights/2020/03/12/automated-drupal-deployment-and-rollback-recipes/

Related questions

MORE COOL STUFF

Звезда HGTV Кристина Холл рассказывает, что у нее «отравление ртутью и свинцом», вероятно, из-за переворачивания «валовых домов»

Звезда HGTV Кристина Холл рассказывает, что у нее «отравление ртутью и свинцом», вероятно, из-за переворачивания «валовых домов»

Звезда HGTV Кристина Холл рассказывает, что у нее диагностировали отравление ртутью и свинцом, вероятно, из-за того, что она работала подсобником.

Принц Гарри — «человек, полностью одурманенный» «дышащей» Меган Маркл, говорит эксперт по языку тела

Принц Гарри — «человек, полностью одурманенный» «дышащей» Меган Маркл, говорит эксперт по языку тела

Узнайте, какие признаки, по словам эксперта по языку тела, свидетельствуют о том, что принц Гарри «одурманен» Меган Маркл, которая может «управлять всем шоу».

Вайнонна Джадд поняла, что теперь она матриарх семьи Джадд в момент панического праздника

Вайнонна Джадд поняла, что теперь она матриарх семьи Джадд в момент панического праздника

Узнайте, как Вайнона Джадд поняла, что теперь она является главой семьи, во время проведения первого празднования Дня Благодарения после смерти ее мамы Наоми Джадд.

Рецензия на фильм «Империя света»: драматические проекты Сэма Мендеса Тусклая романтика

Рецензия на фильм «Империя света»: драматические проекты Сэма Мендеса Тусклая романтика

«Империя света» предлагает красивую операторскую работу и замечательную игру, но кажется, что она слишком надуманная.

Насколько глубок океан?

Насколько глубок океан?

Океан настолько глубок, что посрамляет высоту горы Эверест.

The Secrets of Airline Travel Quiz

The Secrets of Airline Travel Quiz

Air travel is far more than getting from point A to point B safely. How much do you know about the million little details that go into flying on airplanes?

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

5 причин, почему «следовать своей страсти» может быть проблематично

5 причин, почему «следовать своей страсти» может быть проблематично

Мы все слышали карьерный совет: «Следуй своей страсти». Это блеск или койка?

Ребел Уилсон выиграла иск о диффамации против австралийской медиа-компании

Ребел Уилсон выиграла иск о диффамации против австралийской медиа-компании

Мятежник Уилсон и кошелек с коалой. Изображение предоставлено Гетти.

Эта женщина умерла за право голоса 104 года назад

Эта женщина умерла за право голоса 104 года назад

Женщины Соединенного Королевства направляются на сегодняшние внеочередные выборы в особенно удачную годовщину. Прошло 104 года с того дня, как Эмили Уилдинг Дэвисон умерла за избирательное право женщин, растоптанная до смерти посреди громких скачков на глазах у самого короля и королевы.

Установите для своих приложений темный режим, когда берете телефон спать

Установите для своих приложений темный режим, когда берете телефон спать

Фото Japanexperterna. Чтение телефона в постели нарушает режим сна. Но если вы, как и я, все равно это делаете, научитесь делать это, не чувствуя, как будто вы смотрите на солнце (или раздражаете своего спящего партнера), включив «темный режим» в каждом приложении, которое его предлагает.

Иммиграционные агенты пытались поступить в школу Нью-Йорка, чтобы поговорить с четвероклассником

Иммиграционные агенты пытались поступить в школу Нью-Йорка, чтобы поговорить с четвероклассником

Это изображение было удалено по юридическим причинам. Федеральные иммиграционные агенты попытались войти в начальную школу Нью-Йорка, чтобы установить контакт с четвероклассником на прошлой неделе, но им было отказано.

Американское фигурное катание «разочаровано» отсутствием окончательного решения в командном зачете и призывает к справедливому решению

Американское фигурное катание «разочаровано» отсутствием окончательного решения в командном зачете и призывает к справедливому решению

Команда ждет медалей, завоеванных на зимних Олимпийских играх 2022 года в Пекине, пока выясняется дело о допинге в отношении российской фигуристки Камилы Валиевой.

Покупатели Amazon говорят, что они спят «как избалованные младенцы» благодаря этим шелковым наволочкам, которые стоят всего 10 долларов

Покупатели Amazon говорят, что они спят «как избалованные младенцы» благодаря этим шелковым наволочкам, которые стоят всего 10 долларов

Тысячи покупателей на Amazon рекомендуют шелковую наволочку Mulberry, и она уже поступила в продажу. Шелковая наволочка представлена ​​в нескольких цветах и ​​помогает сохранить мягкость волос и чистоту кожи. Покупайте шелковые наволочки со скидкой до 46% на Amazon.

Bengals Running Back Джо Миксон разыскивается по ордеру на арест, выданному за якобы направленное огнестрельное оружие на женщину

Bengals Running Back Джо Миксон разыскивается по ордеру на арест, выданному за якобы направленное огнестрельное оружие на женщину

Жалоба о проступке с отягчающими обстоятельствами была подана против Джо Миксона в четверг.

Профессор Университета Пердью арестован за торговлю метамфетамином и предложение женщинам сексуальных услуг

Профессор Университета Пердью арестован за торговлю метамфетамином и предложение женщинам сексуальных услуг

Полицейское управление Лафайета начало расследование в отношении профессора Университета Пердью в декабре после получения нескольких жалоб на «подозрительный мужчина, приближающийся к женщинам».

Concept Drift: мир меняется слишком быстро для ИИ

Concept Drift: мир меняется слишком быстро для ИИ

Как и мир вокруг нас, язык постоянно меняется. Если в предыдущие эпохи языковые изменения происходили годами или даже десятилетиями, то теперь это может произойти в течение нескольких дней или даже часов.

Как сделать селф медиа

Как сделать селф медиа

Многие думают, что писать/делать самостоятельные медиа могут только люди, которые хорошо или очень хорошо пишут. Не имейте ошибочной идеи, что «каждый будет делать то, что хочу я», это действительно неправильно! Однажды я видел видео в Интернете, рассказывающее, как открыть документ Word, как начать им пользоваться, как настроить шрифт, размер шрифта и как его сохранить.

Меррик Гарланд подвел Америку?

Прошло больше половины президентского срока Байдена. Чего ждет Меррик Гарланд?

Меррик Гарланд подвел Америку?

Я верю, хоть и слишком поздно в жизни, в то, чтобы давать людям шансы. Щедро.

Хороший и злой: 2022

Хороший и злой: 2022

Я больше не понимаю. Кажется почти невозможным правильно оценить, что является «хитом».

Language