Организуем автодеплой изменений из репозитория для проекта на Drupal

Когда над проектом работает несколько разработчиков, то возникают определенные структурные и организационные вопросы. Каждый программист обычно работает с собственным сервером, закачивая обновления в рабочую ветку (branch по терминологии git) проекта (например, develop).

После обновления ветки в репозитории, изменения каким то образом должны попасть на сервер (тестовый сервер), где команда тестировщиков, сможет проверить работу.

Закачка и настройка изменений вручную

Можно сделать это вручную.

Залогиниться на тестовый сервер, скачать и произвести обновления измененных файлов. В случае git, это можно сделать командой:

Изменения структуры данных, настройки типов публикаций, представлений и т.п. нужно подготовить специальным образом, чтобы эти изменения могли быть перенесены на тестовый сервер. Для Drupal обычно используют модуль features, и пишут код обновления в файлах *.install.

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

Используя drush, можно выполнить следующий набор команд, находясь в папке с настройками drupal сайта (где то в /sites/<имя проекта>):

Как автоматизировать, реализовать эту логику программно?

По крону можно можно выполнять git pull, если обновлений в репозитории нет, то никаких операций произведено не будет. Но если каждый раз запускать после git pull сброс кешей и реверт фич, то это будут сильно нагружать ваш сервер и мешать работе.

Остаётся подключить это скрипт в crontab. Кроме того, чтобы не зависеть от переменных окружения, стоит использовать абсолютные пути для всех вызываемых утилит, т.е:

Мало букафф? Читайте есчо !

Подключаем suggestions list в диалог CKeditor - Link

Август 10, 2021 г.

Link - это штатный диалог, который используется в CKeditor для редактирования ссылок. И выглядит он как показано на картинке сверху. Он хорошо выполняет ...

Читать

Примеры работы с EntityFieldQuery

Декабрь 7, 2017 г.

Один раз начав работать с EntityFieldQuery, вы уже не захотите городить SQL запросы с джойнами таблиц полей сущностей. Что то сложное, возможно, сделать будет слишком трудно на этом конструкторе, но типовые выборки данных делать приятно, быстро и удобно. ...

Читать

Программное создание параграфов (ParagraphsItemEntity) в Drupal

Май 24, 2019 г.

Пример кода, как программно реализовать создание параграфа (речь идет о модуле - paragraphs). Обычно параграфы создаются редакторами через админку, но иногда требуется создать новый параграф с помощью кода, например, при импорте данных, структурных ...

Читать

Изменения настроек поля программно Drupal 7

Май 27, 2020 г.

Если вам программно нужно изменить настройки поля в Drupal, то на помощь приходит Field CRUD API. Это набор функций из файла modules/field/field.crud.inc. ...

Читать
 

Комментарии к «Организуем автодеплой изменений из репозитория для проекта на Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: