Сделайте резервную копию только настроек

Согласно ссылке, интерес был, но прошло несколько лет, и я не знаю, реализовали ли они это на самом деле.

Очень полезный сценарий для этого — настроить VPS-сервер с теми же настройками, что и на продакшн-сервере, причём этот клонированный VPS будет использоваться исключительно для разработки. Таким образом, я смогу более эффективно работать со своей командой разработчиков.

4 лайка

Хм… вы видели решение, которое опубликовал @pfaffman?

1 лайк

Это не нативное решение, и в репозитории прямо указано, что оно может не сработать.

Вы можете использовать Административные пакетные операции (ссылка из README):

3 лайка

Вам нужно гораздо больше, чем просто настройки, чтобы проверить, что всё работает. Почему бы просто не восстановить базу данных с продакшена на стейджинг? См. Настройка стейджинг-сервера.

3 лайка

Один вопрос: клонирует ли это также учётные данные форума и его содержимое? Поскольку, очевидно, разработчикам это не нужно — им требуется только базовая конфигурация для разработки плагинов. Я не хочу, чтобы у них был доступ к учётным записям моих пользователей, и уж тем более к учётным записям администраторов.

Да — клонируется абсолютно всё. Если у вас есть непроверенные разработчики, это может быть не лучшим решением. Лично я бы выбрал доверенных разработчиков!

В текущем виде вам потребуется самостоятельно обеспечить клонирование необходимой структуры (например, настроек, категорий, групп, плагинов и т. д.) и либо поддерживать её синхронизацию вручную, либо повторять клонирование по мере необходимости, либо разработать собственное решение для автоматизации этого процесса.

Удачи!

1 лайк

Тогда, возможно, структура экспорта близка к тому, что вам нужно. Она не экспортирует контент.

3 лайка

Я могу выбрать, что экспортировать, верно? Какие есть все доступные опции? «И т. д.» мало помогает.

Нет.

Никаких исключений.

Экспортируется:

  • настройки
  • администраторы
  • группы
  • категории
  • теги/группы тегов
  • темы/компоненты тем/настройки тем

Даже если вы доверяете своим разработчикам, существуют нормативные требования (например, GDPR), которые запрещают передачу персональных данных лицам за пределами определённой юрисдикции или обязывают минимизировать объём персональных данных, копируемых в другую систему. Кроме того, на серверах разработки или тестирования может работать непроверенное программное обеспечение, содержащее уязвимости безопасности.

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

keep_groups = Group.where(name: ['staff', 'testusers']).pluck(:id)
acting_user = User.find(-1)
User.all.each do |u|
  next if u.in_any_groups? keep_groups
  user = UserAnonymizer.new(u, acting_user).make_anonymous
end
5 лайков

Это очень остроумно!

Стоит ли включить это в объяснение о тестовых серверах?

3 лайка