Hay un poco de filosofía personal que entra en un flujo de trabajo de implementación. No es una pregunta fácil de responder directamente sin conocer su experiencia con los servidores y el control de versiones, su sistema operativo, el alojamiento, la experiencia del cliente y la cultura tecnológica, etc ...
- Aquí hay una pregunta similar que tiene mucha explicacion
- Para la implementación de contenido, puede consultar el complemento de RAMP de Crowd Favorite .
- WP Hackers es un gran hilo para encontrar buena información sobre implementaciones.
Personalmente, me aseguro de no codificar nunca las URL absolutas en mis temas. Utilice bloginfo () o codifique las URL relativas. Uso muchos condicionales en mi archivo wp-config.php. Aquí hay una versión de vainilla de mis ediciones de wp-config.
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']));
Trabajo en muchos sitios que siguen a
- local (piratería personal :) en el servidor web de mi computadora portátil) >
- dev (pruebas en servidor cliente) >
- etapa (fuente estable para QA - edición de contenido) >
- producción (sitio en vivo)
Por último, le sugiero que utilice una herramienta de control de versiones para ayudar en sus implementaciones, como GIT o SVN. Facilita significativamente el proceso y mantiene la integridad de la fuente entre los entornos. El compromiso con su local se actualiza fácilmente a través de la línea de comandos en el escenario y la producción. Es mejor durante el descubrimiento definir qué control de versión usarán usted y el cliente desde el principio si tienen desarrolladores trabajando en el proyecto. Personalmente uso GIT para mi control de versiones. Sin embargo, si un cliente usa SVN, hago una mezcla de los dos en mi local, así que mantengo un repositorio para mí y me comprometo con su repositorio.
Rara vez tenemos problemas para migrar de un entorno a otro. Hacemos una búsqueda / reemplazo en la base de datos para cambiar la URL en consecuencia para los medios integrados, etc ...