¿Qué tecnologías se pueden usar para establecer un flujo de trabajo de WordPress eficiente local para vivir para principiantes?

Existen varias herramientas que podrían usarse para la implementación automatizada, la sincronización de repositorios, la depuración remota o lo que no. Di una charla sobre una configuración de WordPress para grandes proyectos durante un WordCamp Boston alojado por MIT:

SiteGround admite SSH incluso en planes inferiores para que pueda manejar algunas partes de la automatización en consecuencia.

En primer lugar, puede clonar directamente un repositorio git allí . Tu también puedes:

  • Empuje directamente al repositorio de producción desde su instalación local, o
  • Empuje a un repositorio alojado GitHub / Bitbucket con un webhook que se implementa en producción.

Además de eso, hay algunas herramientas de implementación automatizadas maravillosas como Capistrano, Chef o Ansible que puede aprovechar, pero que requerirían una cuenta administrada, DPS o en la nube.

De cualquier manera, un repositorio de git resolvería la base de código .

En términos de copias de seguridad, realmente no necesita extraerlas localmente ni nada, solo asegúrese de tener copias de seguridad automáticas en ejecución y de que haya una manera viable de restaurar la producción en caso de que algo salga mal.

Quedan tres cosas principales:

  1. Archivos de configuración / configuración
  2. Base de datos
  3. Medios de comunicación

La configuración podría almacenarse en la base de datos (diferentes opciones para localhost, puesta en escena y producción) o dentro de su base de código (wp-config.php, sus complementos, el tema). Por lo general, establecemos algunas constantes locales en un archivo local wp-config-local.php que se incluye en el archivo principal wp-config.php.

Esto garantiza que cada desarrollador tenga un archivo de configuración local sin anular los datos de producción, y almacena algunas opciones específicas en consecuencia. Los complementos comprueban el WP_DEV más o menos constante y pueden cargar diferentes claves API, deshabilitar correos electrónicos de producción o realizar otras actividades dependientes del entorno.

Con respecto a la sincronización de la base de datos, esa es la parte más complicada de todas.

Combinamos diferentes enfoques, desde volcados de bases de datos regulares desde la producción (o simplemente exportando contenido desde el panel de control si es posible) hasta ejecutar una estrategia de “base de datos remota” con un servidor separado con una base de datos compartida.

El primer enfoque ( volcados regulares de la base de datos ) es más lento y podría automatizarse con un script bash conectado a capistrano. Un breve script bash puede ejecutar un mysqldump de su base de datos local, limpiar algunos datos confidenciales (cuentas de usuario, pedidos, compras), empujar a producción, importar.

La base de datos compartida tampoco es ideal, pero funciona para actividades de colaboración cuando tenemos de 6 a 8 desarrolladores trabajando en el mismo proyecto. Es más fácil que pedirles a todos que extraigan y sincronicen sus copias locales varias veces al día.

Hay un par de complementos de los que he oído hablar varias veces, pero aún no les hemos dado una buena prueba:

  • RAMPA
  • Sincronización de base de datos

Para los medios , a menudo eliminamos los medios en nuestras copias de seguridad, usamos una solución de medios remota (obteniendo medios de un recurso provisional en lugar de descargar decenas de gigabytes de carpetas de medios), o simplemente alojando en un cubo S3.

Cuando sincroniza sus entornos (especialmente con Amazon S3), puede ejecutar la misma versión de medios y activos localmente y en línea, lo que resolverá el problema con imágenes y videos.

Las soluciones más profesionales requieren mucho tiempo pero pueden automatizarse en consecuencia. Considere ejecutar un conjunto de contenedores Docker en ambos entornos que se sincronice fácilmente o configure un entorno VVV replicado localmente que se parezca lo más posible a su producción.

Lo que hago aquí es …

Compra un dominio

Organizar alojamiento

Apunte el dominio al host

Haga una ‘instalación con un botón’

Inicie sesión en el tablero e instale Updraft Plus, WP-Optimize, WordFence y iThemes Security.

Instala Yoast mientras estoy en eso. Probablemente Akismet y JetPack

Estamos hablando 20 minutos aquí una vez que lo hayas hecho varias veces.

Comience a agregar contenido … primero páginas y luego publicaciones y enlaces.

Mire el sitio y posiblemente cambie el tema.

Probablemente regrese y mueva la instalación a un subdirectorio (si no lo hice por adelantado) y luego lo configuraré para que se ejecute desde Root cuando esté listo para comenzar.

Tenga en cuenta que nunca utilicé un servidor local. Eso puede agregar una hora o más al tiempo necesario para mover el sitio y hacer que vuelva a funcionar … especialmente si usa un cuadro que es diferente del servidor de producción … es decir, un servidor WAMP. Eso es $ 75.00 a tiempo que no quiero gastar.

Si iba a crear un nuevo tema o modificar un tema existente ampliamente, simplemente dejaría la Instalación ejecutándose desde el subdirectorio por un momento, pero esa podría ser una razón para que algunas personas deseen un servidor local. Sin embargo, entre un complemento de Modo de mantenimiento y la instalación está ‘oculta’ en un subdirectorio, hay muy pocas posibilidades de que alguien lo vea y no es diferente construir en un servidor local o una caja de producción.

Una vez que esté listo para funcionar, configuraré el sitio para que se ejecute desde el directorio raíz. Establecer mis enlaces permanentes como quiero que aparezcan. Establezca la zona horaria y observe esa configuración de “la semana comienza en”. Nada como instalar un calendario o algo así y comenzar la semana los ‘lunes’ en lugar del domingo normal que usamos aquí en los EE. UU.

Una pregunta más es “¿necesita más de un WordPress aquí?”. Configure la red en este momento entonces.

Dando a WordPress su propio directorio

Crea una red

Una razón más para configurar en un subdirectorio es que quizás desee un servidor de anuncios o un CRM en el futuro. La mayoría de las otras aplicaciones web se ejecutarán desde subdirectorios, lo que también le ahorrará mucho trabajo.

Multi-sitio realmente puede ayudar a ahorrar en gastos de servidor desde el principio si necesita varios sitios. Probablemente necesitará una cuenta de alojamiento de revendedor para múltiples sitios, pero estos son solo un poco más caros que una cuenta de alojamiento compartido.

Multi-sitio le permite beneficiarse también simplemente duplicando los recursos utilizados en un sitio a otro.

Use Local por Flywheel. Se instala como cualquier otra aplicación informática. No hay una configuración complicada para comenzar. Cuando haya terminado, puede migrar fácilmente el sitio a Flywheel (lo harán de forma gratuita) o puede migrar a su host.

Local de Flywheel | El desarrollo local de WordPress simplificado