Sauvegarder uniquement les paramètres

Selon le lien, il y a de l’intérêt mais plusieurs années se sont écoulées et je ne sais pas s’ils l’ont réellement mis en œuvre ou non.

Un scénario très utile à cet effet est de configurer un serveur VPS avec les paramètres exacts du serveur de production, et ce VPS cloné serait uniquement destiné au développement. De cette façon, je peux travailler plus efficacement avec mon équipe de développeurs.

4 « J'aime »

Hmm… avez-vous vu la solution publiée par @pfaffman ?

1 « J'aime »

Ce n’est pas une solution native, et le dépôt indique clairement qu’elle pourrait échouer.

Vous pouvez utiliser les opérations en bloc administratives (lien depuis le README) :

2 « J'aime »

Vous avez besoin de bien plus que de simples paramètres pour voir si les choses fonctionnent. Pourquoi ne pas simplement restaurer la base de données de production sur l’environnement de staging ? Consultez Mettre en place un serveur de staging.

3 « J'aime »

Une question : cela clone-t-il également les informations d’identification et le contenu du forum ? Parce que, évidemment, les développeurs n’en ont pas besoin, juste la configuration de base pour développer les plugins. Je ne veux pas qu’ils aient accès aux comptes de mes utilisateurs, et encore moins aux comptes d’administrateur.

Oui - il clone absolument tout. Si vous avez des développeurs non fiables, ce n’est peut-être pas la meilleure chose. Personnellement, je prendrais des développeurs de confiance !

En l’état, vous devriez vous engager à cloner la structure dont vous avez besoin (par exemple, les paramètres, les catégories, les groupes, les plugins, etc.) et soit la maintenir synchronisée manuellement, la recloner si nécessaire, soit développer votre propre solution pour l’automatiser.

Bonne chance !

1 « J'aime »

Alors peut-être que la structure d’exportation est proche de ce dont vous avez besoin. Elle n’exporte pas le contenu

3 « J'aime »

Je peux choisir ce que j’exporte, n’est-ce pas ? Quelles sont toutes les options disponibles ? “etc.” n’aide pas beaucoup.

Non.

Il n’y a pas d’etc.

Il exporte

  • les paramètres
  • les utilisateurs administrateurs
  • les groupes
  • les catégories
  • les étiquettes/groupes d’étiquettes
  • les thèmes/composants de thème/paramètres

Même si vous faites confiance à vos développeurs, il peut y avoir des réglementations (comme le RGPD) qui vous interdisent de partager des informations personnelles avec des personnes extérieures à une certaine juridiction ou qui vous obligent à minimiser la quantité d’informations personnelles copiées sur un autre système. De plus, un serveur de développement ou de staging exécute des logiciels non testés qui peuvent contenir des problèmes de sécurité.

Nous exécutons toujours quelque chose comme ceci sur le serveur de staging immédiatement après avoir restauré la sauvegarde de la production, ce qui anonymise tous les utilisateurs, à l’exception du personnel et de ceux du groupe 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
1 « J'aime »