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 sin conocer su experiencia con los servidores y el control de versiones, su sistema operativo, alojamiento, experiencia del cliente y cultura tecnológica, etc.
- Aquí hay una pregunta similar que tiene mucha explicación.
- Para la implementación de contenido, puede consultar el complemento RAMP de Crowd Favorite .
- WP Hackers es un excelente 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. Utilizo muchos condicionales en mi archivo wp-config.php. Aquí hay una versión 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 el
- local (piratería personal :) en el servidor web de mi computadora portátil)>
- dev (prueba en el servidor del cliente)>
- etapa (fuente estable de control de calidad - edición de contenido)>
- producción (sitio en vivo)
Por último, te sugiero que uses una herramienta de control de versiones para ayudarte en tus implementaciones, como GIT o SVN. Facilita el proceso significativamente y mantiene la integridad de la fuente entre entornos. Comprometerse 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 utilizarán usted y el cliente desde el principio si tienen desarrolladores trabajando en el proyecto. Yo personalmente uso GIT para mi control de versiones. Sin embargo, si un cliente usa SVN, hago una combinación de los dos en mi local para mantener un repositorio para mí mientras me comprometo con su repositorio.
Raramente 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 incrustados, etc.