it-swarm-es.com

¿Tiene alguna estrategia efectiva para lanzar una v2 de un WP ¿sitio?

Mi equipo y yo estamos trabajando con un cliente que tiene un sitio de WordPress existente con un poco de contenido y un tema personalizado que crearon. Es un blog grupal, lo que significa que tiene varios bloggers de todo el mundo que están agregando y editando contenido todo el tiempo.

Nuestro trabajo es crear un tema completamente nuevo, con muchas características nuevas. Algunas de estas funciones requerirán nuevos widgets personalizados, complementos y campos de base de datos.

Actualmente estamos trabajando con nuestras propias máquinas de desarrollo e integrándolas en un único servidor de desarrollo. Todo el código está versionado en SVN. Nuestro DBA designado está fusionando manualmente cualquier cambio de base de datos en la base de datos dev en este momento, aunque esperamos que pueda automatizar eso pronto.

Acabamos de hablar sobre nuestro proceso de lanzamiento de producción. Significado: una vez que hayamos terminado, ¿cómo vamos a obtener todo nuestro código personalizado en el servidor de producción (en vivo) sin problemas y con la menor interrupción posible?

Tenemos algunos planes en mente, pero me encantaría saber cómo otros han abordado este problema también. ¿Hay algunas prácticas recomendadas que se deben seguir o errores conocidos que se deben evitar?

12
Mike Lee

Si sigue los consejos de SethMerrick, puede reducir en gran medida el tiempo de conmutación reduciendo TTL en los registros DNS correspondientes a aproximadamente 5 minutos o más (dependiendo de lo que sea el TTL actual) Antes de cambiar la dirección IP.

Al hacer esto, le está diciendo a los servidores DNS remotos que solo almacenen en caché la dirección durante 5 minutos. Una vez que cambie la IP, puede aumentar TTL a lo que fuera antes. Para minimizar aún más el efecto, realice la conmutación durante un período de tráfico bajo.

4
Aaron Terry

No estoy seguro de si esto es aplicable, pero acabo de pasar por un proceso similar de migración y actualización simultáneas de un sitio de alto tráfico.

La estrategia básica era trabajar en un servidor de ensayo, luego, cuando todo estuviera listo, realizar un volcado de mysql en el servidor activo, importarlo al servidor de almacenamiento, realizar la limpieza necesaria, luego apuntar los registros DNS al servidor de almacenamiento, lo que provocó la Servidor de pruebas para convertirse en el nuevo servidor en vivo.

El bit difícil es luego combinar todos los datos que se acumulan durante la propagación del DNS en el servidor de pruebas (que ahora es el servidor activo). En otras palabras, si pasan 30 horas entre el momento en que realiza su volcado de MySQL/actualice el DNS y cuando se complete la propagación del DNS, tendrá que fusionar de manera selectiva 30 horas de registros desde el sitio anterior al nuevo.

No es un proceso ininterrumpido, pero cuando llegamos una semana más tarde, todos los problemas se habían solucionado.

2
SethMerrick

@Mike Lee: Gran pregunta y uno de los santos griales de WordPress (o cualquiera de los CMS de código abierto de uso general con los que estoy familiarizado, como Drupal, Joomla, et al.)

Si bien no está destinado a abordar su caso de uso, revise mi respuesta a una pregunta relacionada que describe un complemento de nivel beta que acabo de poner a disposición a través de WordPress Answers Exchange llamó WP Migrate Webhosts (sí, apesto cuando se trata de nombres de creatividades).

Pero también quiero resolver el caso de uso que describe con un complemento y actualmente estoy pensando en cómo lograrlo. Pienso que la forma de abordarlo es renunciar a resolverlo de manera genérica y, en cambio, abordar los patrones conocidos que existen en WordPress y luego permitir que cualquier otra persona " enganche " mi complemento para casos de uso especiales. También estoy pensando que un enfoque es serializar los datos y las estructuras en WordPress como datos en un archivo PHP para que un futuro complemento pueda aplicar esos cambios como deltas al igual que un sistema de control de código fuente aplica deltas para llegar en la versión actual del código fuente.

Entonces, mientras no estoy respondiendo o resolviendo su problema por completo, espero darle una buena idea para pensar y también espero que usted o alguien más quieran colaborar en una posible solución.

2
MikeSchinkel