Script bash para desplegar un plugin vía SSH
Automatiza el proceso de empaquetar y subir un plugin al servidor de producción con un solo comando. Evita errores manuales y acelera el flujo de trabajo de despliegue.
Casos de uso: despliegue de plugins propios a clientes, actualización de plugins en servidores Hetzner o VPS, flujos de CI/CD simples sin herramientas externas.
#!/bin/bash
# deploy.sh — Despliega el plugin en producción vía SSH
# Uso: bash deploy.sh
PLUGIN_DIR="mi-plugin"
SERVER="usuario@tuservidor.com"
RUTA_REMOTA="/var/www/html/wp-content/plugins/"
echo "Generando ZIP del plugin..."
zip -r ${PLUGIN_DIR}.zip ${PLUGIN_DIR}/ \
--exclude "*.git*" \
--exclude "node_modules/*" \
--exclude "*.DS_Store"
echo "Subiendo al servidor..."
scp ${PLUGIN_DIR}.zip ${SERVER}:${RUTA_REMOTA}
echo "Descomprimiendo en el servidor..."
ssh ${SERVER} "cd ${RUTA_REMOTA} && unzip -o ${PLUGIN_DIR}.zip && rm ${PLUGIN_DIR}.zip"
echo "Despliegue completado."
rm ${PLUGIN_DIR}.zip
- zip –exclude — Excluye archivos innecesarios en producción como
.git,node_modulesy archivos del sistema. - scp — Copia el ZIP al servidor remoto via SSH de forma segura.
- unzip -o — El flag
-osobreescribe los archivos existentes sin pedir confirmación. - rm al final — Elimina el ZIP tanto en local como en el servidor para no dejar archivos innecesarios.
