Flujo de trabajo-DEV

El flujo de trabajo perfecto para el desarrollo de WordPress con Git y SSH

Tal vez te hayas preguntado: "¿Cómo publico mi sitio web de WordPress?" o "¿Cuál es la mejor manera de poner en línea mi sitio web de WordPress?". Como desarrollador en ciernes -o como agencia que busca aumentar su rendimiento- seguramente te horrorizaría la avalancha de resultados de búsqueda (obsoletos) en Stack Overflow y Google en torno al tema del desarrollo de WordPress. Así que en este post, te presentaré un proceso de despliegue probado para llevar el sitio web tu de WordPress desde un dispositivo local a un servidor. ¡Empecemos por el SSH! 

¿Qué es SSH?

SSH (abreviatura de "Secure Shell") es un método de conexión a un sistema o servidor mediante la interfaz de línea de comandos (CLI). En pocas palabras, con SSH ya no tienes que perder el tiempo saltando en diferentes interfaces de usuario para transferir los datos de tu . 

¿Por qué SSH resulta estupendo?

Una vez hayas configurado SSH, ya no tendrás que arrastrar y soltar archivos. De este modo, se reducen los errores y se agilizan los tiempos de implantación.

¿Para quién es adecuado el SSH?

SSH puede ser utilizado por equipos de desarrollo de cualquier nivel y tamaño. SSH es una forma muy segura y rápida de editar tu proyecto y publicar los cambios. Especialmente si estás trabajando en proyectos más grandes, conseguirás que tu workflow sea mucho más eficiente con SSH.

Por ejemplo, con el empleo conjunto de Git puedes poner todo tu trabajo en un repositorio y enviarlo a tu servidor, así como trabajar en colaboración en un proyecto como equipo, sin tener que mover los archivos de un lado a otro.

¿Por qué utilizar SSH? 

El motivo por el que se utiliza SSH difiere según la aplicación de uso. SSH se utiliza principalmente por estas razones:

  • SSH es seguro,
  • rápido ¡y
  • se puede automatizar!

Y si no fueran suficientes razones para ti, también puedes acoplar SSH con el control de versiones de Git. Si necesitas revertir tu "development" debido a un error o una característica rota, también es muy fácil: la reversión se hace directamente desde tu repositorio de GitHub.

¿Utilizar SSH como desarrollador/a junior? 

Cualquiera que se adentre en el tema de SSH puede sentirse rápidamente abrumado/a, porque a primera vista el sistema parece extremadamente complejo. Pero no te preocupes: este tutorial te guiará por todos los pasos importantes. Como ya sabrás, la experiencia práctica en desarrollo con Git y SSH es muy valiosa, y hoy en día es un estándar de la industria.

¿Por qué iba a utilizar una agencia el SSH?

Aparte de las ventajas mencionadas de ahorro de tiempo y control de versiones, SSH te permitirá acceder de forma segura al servidor desde cualquier dispositivo que tenga instalada tu clave SSH. 

No estar atado/a a un dispositivo específico significa libertad de ubicación. 

Primeros pasos con SSH

Raidboxes te ofrece un plan de hosting WordPress para el desarrollo gratuito de tus proyectos WordPress. Si quieres practicar SSH, estás en el camino correcto.

En tu Box Raidboxes alojarás tu sitio web WordPress. Sin embargo, no podrás empujar directamente tu Git-Commits. Esta es una característica de seguridad de Raidboxes que garantiza que tu Box permanezca segura. En su lugar, tendrás que utilizar un proveedor de terceros para empujar repo con git pull en tu Box. He utilizado GitHub para este tutorial. Por supuesto, también puedes utilizar otro servicio; el proceso es bastante similar.

He aquí un esquema sobre el proceso: 

wordpress-desarrollo

Si ya has... 

  • has instalado Git en tu dispositivo,
  • generado claves SSH y 
  • añadido tu clave SSH pública a GitHub, 

entonces salta directamente al paso 4: Configurar tu clave SSH en Raidboxes.

Paso 1: Comprueba si tienes instalado Git

Puedes comprobar fácilmente si Git está instalado en el dispositivo que estás utilizando: abre tu herramienta de línea de comandos (Windows) o Terminal (Mac) e introduce el siguiente comando: 

ssh-13

git version

Si ves un número de versión, Git está instalado en tu dispositivo. 

ssh-7

Si recibes un mensaje de error, puedes instalar Git aquí. (Es posible que tengas que actualizar Git si estás utilizando una versión anterior).

Paso 2: Configurar tus claves SSH

Comprueba si existen claves SSH:

Las claves SSH son necesarias para conectarse de forma segura a GitHub y Raidboxes a través de una conexión SSH. Si no estás seguro/a de si ya has generado claves SSH, normalmente puedes encontrarlas de esta manera:

  1. Abre el Git Bash.
  2. Introduce el siguiente comando:

ls -al ~/.ssh

Si tienes claves SSH, verás lo siguiente: 

ssh-6

Las claves SSH suelen encontrarse en el directorio raíz de los dispositivos de tus usuarios/as. Comprueba el directorio:

C:\Users\<YOUR USER NAME>\.ssh

Para más detalles sobre las claves SSH, consulta los documentos oficiales de GitHub.

Generar nuevas claves SSH:  

Hay varias formas de crear claves SSH. Te recomiendo que tengas en cuenta la documentación en GitHub Docs. Se detallan instrucciones para Windows, Mac y Linux.

Paso 3: Añadir tu clave SSH a GitHub

Como requisito previo para empujar tu desarrollo local a GitHub, necesitas añadir tu clave SSH a GitHub. Para ello, consulta la documentación oficial de GitHub. 

Puedes comprobar si has configurado la clave SSH correctamente mediante: 

Paso 4: Configura tu clave SSH en Raidboxes

Raidboxes permite conectarte al servidor a través de una conexión SSH. Primero hay que registrar la clave SSH en la GUI (interfaz gráfica de usuario). 

Para ello, entra en el dashboard de Raidboxes. Selecciona la Box a la que deseas conectarte mediante SSH:

ssh-5

Dirígete a la sección de ajustes > SSH:

ssh-8

Activa el SSH haciendo clic en el botón "Desactivar" para encenderlo y selecciona la configuración del SSH:

ssh-15

Ten preparada tu clave SSH (ver paso 2). Raidboxes requiere la introducción de tu clave SSH pública. 

Ve al directorio de tu ordenador para ver las claves SSH:

C:\Users\Admin\.ssh

Abre el archivo id_rsa.pub. Copia todo el contenido del archivo -incluido el "ssh-rsa" del principio- y pégalo en el campo SSH: 

ssh-10

Guarda los cambios y vuelve al dashboard de tu Box. 

En la sección SSH encontrarás  tus datos de acceso para conectarte a Raidboxes a través del SSH. Necesitas los siguientes datos de acceso: 

  • nombre de usuario, 
  • detalles del hoster y 
  • la frase de contraseña SSH que creaste para tu clave SSH (v. el paso 2). 
El flujo de trabajo perfecto para el desarrollo de WordPress con Git y SSH

Abre Git Bash (Windows) o Terminal (Mac). El comando para conectarse vía SSH es el siguiente:

ssh <user-name>@<host-details>

Un ejemplo con mi cuenta ficticia sería: 

ssh wp@XXXXXX.myraidbox.de

ssh-1

Ahora se te pedirá que introduzcas tu frase de contraseña SSH. ¡Introdúcela - y bienvenido/a al árbol de archivos de tu Box de Raidboxes! 

Si recibes un mensaje de advertencia de que la conexión es desconocida (primera conexión), puedes proceder como sigue:

  • Introduce sí,
  • abandona Git Bash,
  • abre de nuevo Git Bash y
  • vuelve a entrar en "SSH Conflict Details". 
ssh-2

Paso 5: La estructura del directorio Raidboxes

Como se menciona en la pantalla de bienvenida de tu conexión SSH a la Box de Raidboxes, tu directorio preinstalado WordPress se encuentra en /home/wp/disk/wordpress.Tu directorio de trabajo actual cuando te conectas por primera vez a través de SSH puede verse aquí: home/wp

En este directorio no tienes los permisos adecuados para iniciar Git y descargar tu proyecto con git pull - tampoco querrías eso. 

Cambia a tu carpeta de trabajo: 

Desde este directorio se pueden cambiar los fundamentos de tu sitio WordPress: Si ejecutas ls (list) en la consola, verás un árbol de archivos típico de WordPress (file tree): 

ssh-9

Paso 6: Inicializar Git en Raidboxes

Cambia los directorios en wp-content/themes y crea un directorio. Aquí inicializas Git y extraes tu theme desarrollado localmente de GitHub. 

cd wp-content/themes

mkdir <your theme name>

cd <your theme name>

git init

Otra característica interesante de Raidboxes: Git ya está instalado en el servidor, al igual que WordPress CLI (WP-CLI). La última cosa que hay que hacer es tirar de tu Repository GitHub en el árbol de archivos WordPress de Raidboxes. 

Sin embargo, para mantener la seguridad de tu Box, Raidboxes no permite cargar git push desde tu dispositivo local a tu Git-Repo. No obstante, lo extraes desde un servicio como GitHub. 

(Si ya has subido tu proyecto de desarrollo local al GitHub, dirígete directamente al paso 8).

Paso 7: Subir el theme local al GitHub

Desde tu dispositivo local, navega hasta la carpeta donde se creó tu theme WordPress personalizado. A continuación, inicia Git ejecutándolo en tu terminal:

git init

ssh-11

Crea tu repositorio en GitHub y añádelo como remoto a tu desarrollo personalizado. Para obtener instrucciones sobre cómo crear un repositorio de GitHub, consultaesta documentación.

ssh-14

Cuando creas un repositorio, puedes elegir entre público y privado. Para los trabajos por encargo, lo mejor es optar por lo privado. Ten en cuenta que esto exigirá que añadas tu nombre de usuario de GitHub y tu contraseña (no tu frase SSH) cuando desees ejectuar los comandos git push o git pull .

Añade tu repositorio GitHub como remoto para ejecutar el comando git push

git remote add <the alias you choose for the remote> <the remotes address>

Como en este ejemplo: 

git remote add gitHub
https://github.com/XXXXXXXXX/customWordpressTheme.git

Añade tus archivos, confírmalos y envíalos a tu repositorio remoto: 

git add *
git commit -m '<your commit note>'
git push -u <the alias you gave your remote> <the name of the branch your working on>

(Si no estás seguro/a del nombre de tu remote, ejecuta el comando git remote -v . Este te mostrará todos los nombres de los repositorios remotos).

$ git push -u gitHub master

¡Fantástico! Ahora tu theme está en línea y listo para ser introducido en tu Box. 

Paso 8: Descargar tu theme en Raidboxes

Así como añades tu repositorio GitHub como repositorio remoto (para poder arrastrar tu theme al GitHub), ahora añadiremos GitHub como repositorio remoto y "empujaremos" el theme desde el repositorio GitHub. 

Abre el terminal Git Bash en el que has conectado SSH a Raidboxes. Asegúreate de que te encuentras en la carpeta del theme WordPress donde has inicializado Git (v. paso 6). 

Por ejemplo:

home/wp/disk/wordpress/wp-content/themes

Ahora añade tu GitHub repo como un remoto. 

Puedes encontrar la dirección remota en GitHub: 

ssh-3

Añade el remote: 

git remote add <choose an alias name> <the address of your github ssh repo>

git remote add gitHub https://github.com/XXXXXX/customWordpressTheme.git

Tira ahora del repo de GitHub:

Ten en cuenta: Lo más probable es que la rama se llame Master aquí. A menos que lo hayas cambiado o estés trabajando en una rama diferente en GitHub.

git pull <alias name> <branch>

git pull gitHub master

Si el repositorio es privado ...

... se te pedirá tu nombre de usuario de GitHub y tu contraseña de GitHub - no tu frase de contraseña.

Paso 9: Activar tu Theme

Enhorabuena. El último paso es activar tu theme WordPress. Pero, ¿por qué dejar el terminal para esto? Raidboxes tiene WordPress CLI ya instalado. Con unas pocas líneas de código, puedes ahorrarte la molestia de hacer clic en la interfaz de usuario WordPress. 

Ejecuta este comando en el terminal: 

wp theme activate <your theme name>

Para obtener una descripción completa de los comandos que puede utilizar con WP-CLI , consulta la documentación oficial de WordPress .

Si prefieres la interfaz de usuario, puedes acceder a todos tus themes desde el dashboard de Raidboxes. Puedes encontrarlos en el punto de navegación "Plugins y Themes":

Conclusión sobre SSH y el desarrollo WordPress

Si buscas una forma rápida, segura y más eficiente de desarrollar y mantener tu sitio WordPress, el uso de Git y SSH es el camino a seguir. Créeme, pronto te preguntarás cómo pudiste arreglártelas con cualquier otro flujo de trabajo. 

Pero cada uno trabaja a su propio ritmo y tiene preferencias individuales en cuanto al flujo de trabajo adecuado. Te recomiendo que le des una oportunidad a SSH - y que sigas los pasos descritos. Nunca se sabe: ¡puede que quedes absolutamente encantado/a y no quieras perderte este flujo de trabajo! 

Gracias por leer. Espero que este artículo te haya ayudado a establecer un flujo de trabajo adecuado que te facilite la vida cuando trabajes con temas personalizados. Empieza hoy mismo y aprovéchate al máximo del panel de control de Raidboxes. 

¿Qué preguntas tienes para Matthias?

No dudes en utilizar la función de comentarios. ¿Quieres estar informado/a sobre nuevos artículos y consejos acerca del desarrollo WordPress? Entonces síguenos en Twitter, Facebook o a través de nuestra newsletter.

¿Te ha gustado el artículo?

Con tu valoración nos ayudas a mejorar aún más nuestro contenido.

Escribe un comentario

Tu dirección de correo electrónico no se publicará. Los campos obligatorios están marcados con *.