it-swarm.com.de

Verwalten von Updates, wenn sich Wordpress in Ihrem eigenen SVN-Repository befindet

Ich lade Wordpress herunter und konfiguriere es für eine Entwicklungsumgebung und eine Produktionsumgebung. Nachdem es auf einem Server eingerichtet wurde, checken wir es in ein Subversion-Repository ein und checken es dann auf dem Produktionsserver aus. Bereitstellung abgeschlossen.

Das Problem ist, wenn ich ein Update durchführen muss. Ich soll wp-includes und wp-admin löschen, aber wenn ich das tue, wird svn verrückt.

Welche Strategien gibt es für den Umgang mit Wordpress, Subversion und mehreren Bereitstellungsumgebungen?

3
tooshel

Äußerlich auf jeden Fall. Richten Sie Ihr eigenes SVN-Repo ein und machen Sie dann WP als externes Repo. Ich habe es in ein/wp-Verzeichnis gelegt. Sie können auf das SVN WP als externes hier zugreifen: http://core.svn.wordpress.org/

Ich neige dazu, Kofferraum zu benutzen. Sie können einen Zweig verwenden, wenn Sie wirklich, wirklich wollen. Zweige werden automatisch mit Nebenversionen aktualisiert (/branches/3.0 statt 3.0, dann 3.0.1, 3.0.2 usw.), neue Zweige werden für Hauptversionen erstellt.

Daneben erstelle ich ein/name-content-Verzeichnis, in das ich meine benutzerdefinierten Themen und dergleichen einfügen werde. "name" ist das, was Sie wollen. Dann kann ich eine benutzerdefinierte /wp-config.php verwenden, um den Speicherort des Verzeichnisses wp-content in mein benutzerdefiniertes zu ändern, wie folgt:

define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/name-content' );
define( 'WP_CONTENT_URL', 'http://example.com/name-content');

Für die Themes gehen sie direkt in das Repo (da sie wahrscheinlich an die Site angepasst sind) unter/name-content/themes.

Alle Plugins, für die ich verwende, erstelle ich ein Verzeichnis/name-content/plugins und setze sie dann als extern aus der http://plugins.svn.wordpress.org/pluginname/trunk Repo. Wenn Sie nicht gerne Kofferraum laufen lassen (gefährlich und so), können Sie stattdessen /tags/1.1 oder was auch immer für sie verwenden.

Mit ein bisschen angepasster .htaccess-Logik (mit der .htaccess-Datei im Stammverzeichnis des Repos), um/wp zum "Stammverzeichnis" meiner Domain zu machen, wird das Ganze eingerichtet. Beispiel .htaccess-Datei zum Verschieben des Roots:

Options -Indexes
RewriteEngine on
RewriteCond %{HTTP_Host} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wp/$1
RewriteCond %{HTTP_Host} ^(www.)?example.com$
RewriteRule ^(/)?$ wp/index.php [L]

Dadurch befindet sich WordPress im Verzeichnis/wp im Stammverzeichnis Ihrer Website und zeigt auf das Verzeichnis name-content für die Inhaltsaspekte. Die .htaccess-Datei leitet diese Anforderungen nicht um (da die Dateien vorhanden sind), und daher funktioniert alles einwandfrei.

Vorteil: Wenn Sie ein Update durchführen möchten, aktualisiert ein einfaches svn-up die gesamte Site, nachdem Sie mit den externen Komponenten herumgespielt haben, um auf die neueren Versionen zu verweisen (wenn Sie zu klein sind, um auf trunk zu laufen).

5
Otto

Ich checke immer aus dem svn-Repository von wordpress.org aus und verwende dann svn externals, um meine eigenen Themes/Plugins zu laden. Sie müssen auch keine externen Elemente verwenden . Sie können Ihre eigenen Designs und Plugins als eigene Arbeitskopien in den Design- und Plugin-Ordnern Ihres Hauptverzeichnisses WP Kasse.

Ein Vorteil der Methode externals besteht darin, dass Sie alles mit einem einzigen Befehl aktualisieren können. Überprüfen Sie nur, ob Sie die richtige Version Ihres eigenen Materials gefunden haben.

Gehen Sie zum Ordner "themes/plugins" und gehen Sie wie folgt vor:

Sudo svn propedit svn:externals .

die Struktur der externen Datei sollte sein:

my-theme                 http://svn.example.com/my-theme/tags/1.0
my-other-theme    -r102  http://svn.example.com/my-other-theme/trunk

Akismet ist in WP als externes Element enthalten. Wenn Sie also zum Ordner plugins navigieren und den Befehl propedit ausführen, wird ein Beispiel angezeigt.

Das Svnbook hat mehr http://svnbook.red-bean.com/en/1.0/ch07s03.html

2
sanchothefat