Wordpress avec Git

20

Je pose cette question parce que j'ai effectué une recherche sur Internet mais que je ne trouve pas la bonne solution. En fait, je veux une solution dans laquelle plusieurs développeurs peuvent travailler sur un projet wordpress unique sans créer de désordre les uns des autres, mais comme nous savons que dans Wordpress, tout est conservé dans une base de données, quel plugin est actif ou non.

Si les développeurs installent des plug-ins dans leur projet local plutôt que par le biais de la communication, chacun doit installer ce ou ces plug-ins, etc., et une mauvaise communication peut casser le site des autres si chaque développeur pousse / extrait le code.

Si nous partageons également la base de données, partageons les paramètres du plug-in / des thèmes de manière à éviter tout conflit ou tout petit conflit entre les développeurs.

Merci

    
posée Najam-us-Saqib 23.08.2016 - 08:37

5 réponses

17

Git pour les plugins :

Utilisez ensuite Git pour gérer composer.json et les modifications apportées au plug-in TGM.

Le plus difficile est de synchroniser la base de données :

Certainement, nous devrions partager la base de données. Reconfigurer les paramètres / options d’un plugin n’est pas une bonne idée.

Il y a de nombreux plugins , gratuits et premium, qui peuvent aider.

Si vous souhaitez essayer quelque chose manuellement, incorporez wp-cli avec la réponse de @Wyck.

    
réponse donnée MinhTri 23.08.2016 - 10:39
7

La meilleure solution que j’ai vue à ce sujet est d’utiliser Bedrock ( enlace ).

Les autres réponses à cette question (Composer et quelque chose pour gérer vos plugins) sont de bonnes réponses. mais Bedrock fournit un moyen de le faire systématisé, soutenu, documenté et continuellement amélioré, ce qui est préférable au roulage du vôtre.

N'oubliez pas non plus que vous pouvez avoir plus d'un dépôt Git - un pour votre thème, un pour chaque plugin personnalisé que vous développez, puis un "maître" pour l'installation de Bedrock / Wordpress elle-même.

    
réponse donnée Chris S 23.08.2016 - 15:21
7

Mon équipe a rencontré un problème similaire. Nous utilisons git pour mettre en version notre propre code personnalisé, tel que les plugins et le thème que nous écrivons. Nous utilisons Composer pour gérer les dépendances telles que les plugins que nous n'avons pas écrits. Nous archivons les fichiers composer.json et composer.lock dans git pour que tout le monde soit synchronisé. Chaque développeur est censé ouvrir la branche git master et exécuter fréquemment composer update sur leurs parcs pour que tout le monde reste au courant.

Dans la base de données, les développeurs se préoccupent principalement de la configuration et nous utilisons souvent WP-CLI pour maintenir la configuration synchronisée. Par exemple, nous avons un script shell qui exécute une commande WP-CLI pour activer ou désactiver les plug-in hôte par hôte. certains plug-ins ne sont utilisés que sur notre hôte de transfert de contenu, par exemple, afin que le script puisse être exécuté sur n'importe quel hôte et n'active le jeu approprié que sur cet hôte. Certaines configurations prenant trop de temps au script sont simplement documentées et reproduites manuellement si nécessaire.

Nous avons également un script Perl qui va complètement cloner la base de données de notre serveur de transfert de contenu sur un QA ou un hôte dev. Les développeurs peuvent l'utiliser périodiquement s'ils veulent tout le contenu actuel, bien que ce soit généralement moins important que d'avoir le code et la configuration. Le script effectue les tâches suivantes:

  • Sauvegarde mySQL de la base de données du serveur de transfert de contenu, modification du nom des tables, chargement dans la base de données du serveur cible
  • utilisez wp-cli pour modifier les références au serveur de transfert de la base de données afin de faire référence au serveur cible
  • synchronise le répertoire de téléchargement sur le serveur cible avec les téléchargements du serveur de transfert de contenu

Il existe des solutions prometteuses pour la gestion des versions de la base de données qui avancent rapidement. VersionPress et Mergebot sont les deux que je connais. de et il peut y avoir d'autres.

J'ai écrit d'autres détails techniques sur la manière dont nous avons configuré WordPress pour qu'il fonctionne avec git et Composer sur mon blog. Il était nécessaire d’exécuter avec WordPress core dans son propre répertoire pour faire une séparation nette entre le code que nous souhaitons maintenir dans git et WordPress core. Nous traitons WordPress lui-même comme une dépendance et le gérons avec Composer.

    
réponse donnée spacegrrl 23.08.2016 - 22:33
0

S'il est absolument nécessaire que tous les mêmes plugins soient installés sur le thème ou sur un plugin personnalisé, je partagerai également la base de données.

Nous utilisons git et compositeur pour maintenir à jour les différents environnements de développement. Tirez simplement sur les dernières modifications et relancez le compositeur et vous êtes prêt à partir.

    
réponse donnée Ben Romijn 23.08.2016 - 10:01
0

Pour cela, nous devons d’abord comprendre la structure du répertoire WordPress. La structure de répertoire de WordPress n’est pas très conviviale pour utiliser git avec elle. Donc, je vous suggérerais d’utiliser ceci avec plutôt une architecture modifiée amicale git . Non, pas de panique. Vous n'êtes pas obligé de créer cela. Il existe de nombreux types de ce type de système standard ou WordPress structuré. Choisissez-en un et commencez à coder.

Maintenant venez au point d’écrire du code bien organisé ou du code mainéable. En réalité, nous mettons notre code sur wp-content\themes\your-theme ou wp-content\themes\your-theme . Ainsi, dans la plupart des git des thèmes WordPress conviviaux, la partie wp-content est séparée. Et ils tirent surtout le repo WordPress à travers composer . Cela rend le projet complet beaucoup plus propre.

La synchronisation des plugins est un autre élément important. Il serait préférable que vous installiez votre plugin via composer . Cela rend le code du projet beaucoup plus propre. Ici , vous obtiendrez une vue d'ensemble de la procédure d'installation des plugins WordPress via composer .

Maintenant, venez à la partie la plus cruciale, comment synchroniser la base de données. Je pense que cela pourrait se faire plus facilement de deux manières différentes -

  • Tous les développeurs doivent utiliser une base de données distante. Et fréquemment en créer une copie de sauvegarde.
  • Automatiser les fonctions d'importation et d'exportation de WordPress. Cela semble compliqué, mais ça ne l'est pas. Il suffit de faire un google, J'espère que vous pourrez le faire.

J'espère que cela vous aide.

    
réponse donnée CodeMascot 23.08.2016 - 10:52

Lire d'autres questions sur les étiquettes