Работа с конфигурациями с использованием Drupal UI
Вот простой пример, демонстрирующий, как имя сайта можно настроить в одной среде и развернуть в другой среде. Этот пример включает в себя загрузку и выгрузку файлов конфигурации tar.gz вручную, но также возможно сохранение каталога синхронизации вашего сайта под контролем версий и синхронизация таким образом.
1. Установите Drupal 8. Мы будем называть этот сайт «Продукция».
2. Сделайте копию этого на другом URL - это будет «Разработка». Сделайте копию, используя тот же исходный код, каталог файлов и дамп базы данных рабочего сайта. Помните, что система конфигурации предназначена для синхронизации настроек между копиями одного и того же сайта - это означает совпадение UUID - сначала вы всегда должны делать полную копию сайта и базы данных (но вам не нужно делать это, прежде чем начать добавлять контент в свой сайт. site.) В Drupal 7 вам понадобятся только дамп базы данных и загруженные файлы, в Drupal 8 актуальны другие части файлового каталога, включая файлы конфигурации и PHP.
После завершения можно будет установить новый сайт из существующей конфигурации, поэтому копирование сайта будет так же просто, как установка нового сайта с экспортированной конфигурацией , Пока эта проблема не будет устранена, вам потребуется полная копия сайта.
3. После копирования отредактируйте файл settings.php в новой копии (Development) и настройте детали MySQL в $database.
4. Проверьте принадлежность файла/каталога и права доступа (Drupal может жаловаться, что ваш каталог синхронизации недоступен для записи).
5. Очистить / восстановить кэш.
6. Теперь давайте смоделируем изменение конфигурации. На сайте разработки перейдите в раздел Основные настройки сайта - admin/config/system/site-information и измените имя сайта.
7. Экспортируйте полную конфигурацию сайта разработки в admin/config/development/configuration/full/export. Это создаст сжатый файл с именем config-site-domain-name-2017-01-10-15-38.tar.gz
8. На производственном сайте перейдите к admin/config/development/configuration/full/import и загрузите сжатый файл.
9. После передачи файла вы будете перенаправлены на вкладку «Синхронизация». Здесь вы можете увидеть список YAML-файлов, которые будут изменены, добавлены или удалены. Если щелкнуть «Просмотр различий», отобразится детальное представление «Разное» (текущие настройки) и «Постановочные» (для импорта) данных.
10. Нажмите Импортировать все, чтобы импортировать изменения конфигурации. Вы должны увидеть сообщение о том, что конфигурация была успешно импортирована, и в таблице появится сообщение: "Нет изменений конфигурации для импорта".
Теперь имя вашего сайта изменилось и на производстве. Хотя теоретически вы должны вносить все изменения при разработке и развертывании в производство, иногда могут потребоваться изменения непосредственно в Live или, как правило, вашими пользователями (в дополнение к ролям и разрешениям пользователей вы можете предотвратить любые изменения конфигурации любым пользователем с модулем «Только чтение»).
Если вы перейдете в /admin/config/development/configuration, Drupal предупредит вас о том, что было изменено, с помощью сообщения:
Следующие элементы в вашей активной конфигурации имеют изменения с момента последнего импорта, которые могут быть потеряны при следующем импорте.
Чтобы экспортировать эти изменения из производства в разработку:
- Экспортируйте полную рабочую конфигурацию сайта по адресу admin/config/development/configuration/full/ export. Это создаст другой файл tar.gz.
- На сайте разработки перейдите к admin/config/development/configuration/full/import и загрузите файл, который вы только что загрузили. Просмотрите изменения и нажмите «Импортировать все».
Вы можете продолжать вносить дальнейшие изменения в разработку и экспортировать в производство, когда будете довольны ими.
Если у вас сложный интерактивный сайт с приемлемым уровнем трафика, рассмотрите возможность включения режима обслуживания в производственной среде при импорте полного набора файлов конфигурации, чтобы избежать изменений конфигурации, конфликтующих с действиями пользователей в данный момент. Это также дает вам возможность просматривать как пользователь-администратор и дважды проверить, что обновленный сайт работает нормально, прежде чем снова запустить его.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.