Comment puis-je gérer des configurations WordPress complexes dans git ?
J’ai du mal à trouver un bon workflow pour utiliser git sur mes projets WordPress complexes. Je me demande si les gens peuvent recommander un flux de travail qui a tendance à bien fonctionner dans cette situation.
Voici la situation que j’ai, et les problèmes que j’ai rencontrés.
La situation : installation de WordPress, avec des fichiers de configuration personnalisés pour WordPress et pour le serveur, deux thèmes WordPress ou plus de plusieurs développeurs et 20-25 plugins de plusieurs développeurs.
Problèmes:
- J’ai pensé à créer simplement des référentiels pour des plugins et des thèmes individuels, puisque WordPress gère ses propres mises à jour. Ce serait beaucoup plus facile à gérer, mais j’ai encore besoin de suivre le projet dans son ensemble (quels plugins sont utilisés, les fichiers de configuration WordPress, les fichiers de configuration du serveur, les fichiers de vérification Google, les favicons et d’autres ressources qui ne font pas partie d’un plugin ou thème), et je veux un moyen simple de cloner ou de déployer l’ensemble du projet sur un nouveau serveur.
- Tous les plugins n’ont pas de référentiel git public, donc je dois soit ajouter ce code à mon propre référentiel, soit ignorer les répertoires de ces plugins.
Si j’ignore les plugins sans dépôt, le problème de ce code n’est pas dans le contrôle de version. Cela rend difficile le clonage, le déploiement ou le suivi de mes propres modifications.
Quel est le meilleur workflow pour utiliser git avec des projets WordPress à grande échelle ?
Solution n°1 trouvée
J’ai 1 dépôt pour chaque projet. Cela me permet de suivre les changements des deux côtés local et serveur. Vous pouvez également utiliser git hooks / cron, etc. pour synchroniser le serveur ou un processus de construction.
Quand je fais des thèmes, c’est généralement spécifique au projet, donc c’est juste fait dans le dépôt du projet. Mes plugins que je maintiens à l’extérieur dans un dépôt séparé spécifique à ce plugin.
Si c’est un client que je maintiens, alors tout est géré par Git et les mises à jour automatiques sont désactivées. Mon avantage préféré est qu’une commande git status me permet de savoir ce qui a changé avec les fichiers du site + le fait que tout est sauvegardé sur la télécommande et mon local et suivi.
Vous pouvez également effectuer des déploiements complets avec Vagrant, PuPHPet et/ou une variante de https://github.com/10up/varying-vagrant-vagrants
J’ai optimisé mes propres builds, commencé à travailler avec Composer, divers vagabonds vagabonds, Grunt et GitLab pour la gestion des dépôts privés, dans l’espoir de gagner du temps sur l’ensemble du processus.
En fin de compte, cela dépendra de beaucoup de variables,
- Environnement d’hébergement
- Connaissance de l’équipe et de l’équipe
- Type de projet
- Tailles de projet
- Vos propres capacités pour tout gérer
- Comment vous souhaitez déployer sur des sites en direct
- etc…
0 commentaire