Bonjour Jay @pfaffman, merci pour ce message et les autres sur ce sujet des « deux conteneurs », y compris les écrits de Sam à ce sujet.
Question :
Nous avons essayé de configurer deux conteneurs comme vous le mentionnez : un conteneur pour data et un pour web-only, mais nous rencontrons plusieurs problèmes pour faire fonctionner cela sur macOS.
Mais avant de nous inquiéter du débogage de cette « configuration à deux conteneurs » sur macOS ou Ubuntu, nous souhaitons nous assurer que nous le faisons pour la bonne raison.
La raison pour laquelle nous voulons faire cette « danse à deux conteneurs » est d’éviter que le site ne soit hors ligne lorsque nous reconstruisons l’application web, par exemple lors de l’installation d’un plugin. De plus, lorsque nous ajustons un plugin maison, nous avons remarqué que parfois la seule façon de nous assurer que nos modifications fonctionnent est de reconstruire (c’est une autre histoire pour un autre jour). J’ai également eu du mal à mettre en place une configuration de développement web « rapide et conviviale » à ma satisfaction ; mais c’est un autre sujet pour un autre jour.
Ma question est donc la suivante : l’installation en « deux conteneurs » réduit-elle significativement les temps d’arrêt lorsque la partie « web-only » de l’application est reconstruite ?
C’est ainsi qu’il faut envisager les choses, n’est-ce pas ?
Lorsque nous installons un plugin ou que nous en ajustons un, devons-nous reconstruire uniquement le fichier yml « web-only » et non le fichier yml « data » ?
Nous venons d’un environnement LAMP où les modifications apportées aux plugins peuvent et sont majoritairement effectuées en temps réel sur le site en direct (sans temps d’arrêt, sauf si nous faisons une erreur). De plus, nous venons de certaines applications web VueJS où nous compilons sur le bureau, puis nous téléchargeons et déployons simplement la nouvelle application, ce qui permet des mises à jour sans temps d’arrêt quasi nul pour la partie VueJS du site. Cependant, avec Discourse, nous constatons des temps d’arrêt, ce que nous ne souhaitons pas (même quelques secondes).
La solution « deux conteneurs » apporte-t-elle des améliorations significatives en termes de temps d’arrêt lorsque nous (1) reconstruisons l’application (pour les plugins, les ajustements de code, etc.) ou (2) restaurons à partir d’une sauvegarde complète ?
J’ai l’impression que je vais me faire « taper dessus » (encore une fois) pour avoir posé cette question, car nous cherchons un moyen d’exécuter Discourse en production et d’apporter des modifications avec un temps d’arrêt quasi nul, et nous n’avons pas encore trouvé de méthode pour faire des choses aussi simples à réaliser avec une application LAMP ou VueJS (par exemple).
D’où la difficulté / l’intérêt pour la méthode « deux conteneurs » que nous n’avons pas encore réussi à mettre en place.
Merci !