Es gibt ein bisschen persönliche Philosophie, die in einen Bereitstellungsworkflow einfließt. Es ist keine einfache Frage, die Sie direkt beantworten können, ohne Ihre Erfahrung mit Servern und Versionskontrolle, Ihr Betriebssystem, Hosting, Kundenerfahrung und Technologiekultur usw. zu kennen.
- Hier ist eine ähnliche Frage , die viele Erklärungen hat.
- Informationen zur Bereitstellung von Inhalten finden Sie im RAMP-Plugin von Crowd Favorite .
- WP Hackers ist ein großartiger Thread, um gute Informationen zu Bereitstellungen zu finden.
Persönlich stelle ich sicher, dass ich absolute URLs in meinen Themen niemals fest codiere. Verwenden Sie bloginfo () oder codieren Sie relative URLs. Ich verwende viele Bedingungen in meiner Datei wp-config.php. Hier ist eine Vanille-Version meiner wp-config-Änderungen.
switch($_SERVER['SERVER_NAME']){
case 'dev.yourdomain.com':
$db_host = '';
$db_pass = '';
//define debugging
break;
case 'stage.yourdomain.com':
$db_host = '';
$db_pass = '';
break;
default: //Live
$db_host = '';
$db_pass = '';
}
define('DB_PASSWORD', $db_pass);
define('DB_HOST', $db_host);
//You could also set this as a variable above
define('WP_HOME', 'http://'.$_SERVER['SERVER_NAME']));
define('WP_SITEURL', 'http://'.$_SERVER['SERVER_NAME']));
Ich arbeite an vielen Seiten, die dem folgen
- lokal (persönliches Hacken :) auf meinem Laptop-Webserver)>
- dev (Testen auf Client-Server)>
- Bühne (stabile Quelle für QA - Bearbeitung von Inhalten)>
- Produktion (Live-Site)
Zuletzt würde ich vorschlagen, dass Sie ein Versionierungstool verwenden, um Ihre Bereitstellungen wie GIT oder SVN zu unterstützen. Dies vereinfacht den Prozess erheblich und bewahrt die Quellintegrität zwischen den Umgebungen. Das Festschreiben an Ihren lokalen Standort kann problemlos über die Befehlszeile auf der Bühne und in der Produktion aktualisiert werden. Am besten definieren Sie während der Ermittlung, welche Versionskontrolle Sie und der Client von Anfang an verwenden, wenn Entwickler an dem Projekt arbeiten. Ich persönlich benutze GIT für meine Versionskontrolle. Wenn ein Client jedoch SVN verwendet, mache ich eine Mischung aus beiden auf meinem lokalen Konto, damit ich ein Repo für mich selbst pflege und mich gleichzeitig zu seinem Repo verpflichte.
Wir haben selten Probleme bei der Migration von einer Umgebung in eine andere. Wir suchen / ersetzen in der Datenbank, um die URL für eingebettete Medien usw. entsprechend zu ändern.