web-dev-qa-db-fra.com

Utiliser Subversion pour déployer WordPress

J'utilise Subversion avec mes sites Web. Jusqu'à présent, cela signifiait créer un nouveau dépôt pour chacun de mes sites. Cependant, cela est totalement inefficace car cela signifie que je traîne autour de la source WordPress entière pour chacun des sites. Cela signifiait également que je devais copier des plugins entre des pensions et ainsi dupliquer le code à chaque fois.

Donc, ce que je voulais faire, c'était un référentiel qui ne contenait que mon fichier de thème (et éventuellement d'autres répertoires spécifiques à un site, tels que des plugins spécifiques à un site). Cela aurait alors un lien vers le référentiel balisé de WordPress pour la version de WordPress que je construirais et un lien vers mes autres mises en pension partagées de plug-in, de sorte que pour pouvoir publier ou déployer à des fins de test je ne devrais faire qu'un svn checkout svn://path/to/site/repo et le téléchargerait tout le dépôt WordPress, tous mes plugins et tout le contenu spécifique au site.

Y a-t-il un moyen de faire ça? Ou est-ce une mauvaise idée? Y at-il un moyen plus facile/meilleur de le faire du tout? Comment font les autres?

2
Thomas Clayson

Eh bien, rien n'empêche d'utiliser Subversion pour résoudre ces tâches

Remarque: Certaines étapes peuvent différer en fonction de la disposition de votre propre référentiel pour les thèmes/plugins (je suppose, ce sont des répertoires situés à l'intérieur du tronc, et l'arbre entier ne ne pas répéter la mise en page WP standard: /wp-content/themes/wp-content/plugins/)

Pour commencer, vous devez avoir:

  • Vide référentiel Subversion, dans lequel vous pouvez valider
  • Connaissances de base sur svn: externals
  • URL de tous les composants (y compris WP-core), que vous souhaitez combiner dans "distribution"

Règle commune:

Tous les composants sont servis dans leur propre dépôt, notre repo ne les relie que dans un seul endroit.

Actes:

  • Caisse (vide) coffre svn co URL/trunk Deploy
  • Ecrivez toutes les définitions de composants dans un fichier texte (externals.txt pour exemple) (enregistrez-le n'importe où, il ne doit pas faire partie du repo), il apparaît dans le fichier à peu près comme

wordpress http://core.svn.wordpress.org/tags/3.5/

wordpress/wp-content/plugins/plugin-one URL-OF-PLUGINONE

...

wordpress/wp-content/themes/Mytheme URL-OF-MYTHEME

(chaque ligne correspond à la nouvelle définition externals, 1ère partie - chemin relatif au répertoire local, 2ème partie séparée par un espace - source du contenu du répertoire)

  • cd Deploy
  • Utilisez externals.txt pour définir tous les externes dans la racine du coffre en même temps svn propset svn:externals . -F ../externals.txt
  • Valider les modifications
  • Mettre à jour (ou vérifier le coffre dans un nouveau répertoire) et tout voir: modules de base, modules nécessaires et thèmes rassemblés dans le répertoire wordpress

La prochaine fois, lorsque vous voudrez modifier la configuration de WP déployable, vous n'aurez plus qu'à modifier les définitions existantes de svn: externals ('svn propedit', 'svn commit') et à obtenir après la configuration la configuration mise à jour.

1
Lazy Badger

J'ai une configuration multi-site avec WP extrait de SVN. Pour mettre à jour tous les sites, il suffit de commander la commande svn sw ... et de consulter la page de mise à niveau dans wp-admin.

Si tous les sites sont sur le même serveur, je vous conseillerais de regarder dans plusieurs sites.

0
Dunhamzzz

Utilisez NetBeans ... Lorsque vous extrayez une copie de SVN, vous pouvez l’utiliser directement comme fichier source de votre projet et la synchroniser simultanément avec votre serveur. NetBeans garde une trace soignée des nouveaux fichiers, des fichiers modifiés, vous pouvez comparer les révisions, les validations, les mises à jour, etc.

0
Rutwick Gangurde