Deploy+

Deploy+.
Del push a producción.

Conecta tus repositorios de GitHub, GitLab, Bitbucket o Gitea con el hosting y olvídate del último paso: cada push publica una versión nueva sin downtime, con tus comandos de build, y volver atrás es un clic.
tuproyecto/web · main Deploy+
  1. 01 Push
  2. 02 Build
  3. 03 Publicar
  4. 04 En línea

esperando cambios…

Versiones

Cada versión se guarda: volver atrás es un clic, sin corte.

Un git push

y el despliegue arranca solo, sin entrar al panel

Sin downtime

la versión nueva se publica al cambiar un enlace

Rollback en segundos

vuelves a cualquier versión anterior desde el historial

Sin coste

incluido en todos los planes de hosting

Funciona con tu Git, esté donde esté

GitHub github.com · webhook y firma GitLab gitlab.com o tu propia instalación Bitbucket bitbucket.org · webhook y firma Gitea / Forgejo Codeberg o tu propia instalación Otro servidor Git cualquier repositorio por HTTPS

Cómo funciona

Cuatro pasos, y ya no vuelves a tocarlos.

El código ya lo tienes versionado. Lo que faltaba era el último tramo: llevarlo a producción sin subir ficheros a mano ni cruzar los dedos.

Conecta

Tu repositorio, esté donde esté

GitHub, GitLab, Bitbucket, Gitea o cualquier Git por HTTPS, público o privado, con un token de solo lectura. Antes de seguir, el panel consulta la API y te enseña el repositorio, sus ramas y qué hay ahora mismo en la carpeta de destino.
https:// token de solo lectura acceso comprobado

también en las cuentas de un plan Multicuenta

Cinco proveedores, un destino

por HTTPS
Deploy+

Push

Haz push y el despliegue arranca solo

El webhook lo creamos nosotros al conectar el repositorio, y cada aviso llega firmado. Si prefieres decidir tú cuándo, lo lanzas con un botón o desde tu integración continua con el enlace de despliegue.
Lo habitual
Subir ficheros a mano y cruzar los dedos
Aquí
Un push, y GitHub avisa al servidor

Del push al despliegue

webhook firmado
Un push a la rama avisa por webhook y el despliegue arranca solo GITHUB · PUSH main · a91f3c2 fix: checkout con cupón POST · HMAC HOSTSUAR · DEPLOY+ firma comprobada rama main: se despliega deploy #48 en marcha
Aviso firmado · deploy #48 en cola

Publica

Despliegue atómico, sin corte

Cada versión se clona en su carpeta, se enlazan tu .env y tus carpetas compartidas y se ejecuta tu script. Solo si todo ha ido bien se publica: cambia un enlace, y la anterior sigue ahí.

0 s

de parada: la versión nueva se publica al cambiar un enlace

Despliegue atómico

~/deploy/tienda/

releases/

├─ 20260904-1830 · publicada

└─ 20260905-1012 · clonando y ejecutando script…

shared/

├─ .env → enlazado en cada versión

└─ storage/ → enlazado en cada versión

current → releases/20260904-1830

Preparando la versión nueva; la anterior sigue en línea

Vuelve atrás

Rollback en un clic, desde el historial

Fecha, quién lo lanzó, commit, duración y el registro entero de cada despliegue. Las últimas versiones se quedan en el servidor: volver a cualquiera tarda segundos, porque no hay que clonar nada.

5 versiones

guardadas por defecto; tú decides cuántas

Leer la guía completa

Historial de despliegues

5 versiones guardadas
FechaDisparadorTiempo
hoy 10:12 · a91f3c2 Push 38 s
ayer 18:30 · e07b9d4 Manual 41 s
ayer 11:05 · 4c1d8e7 Rollback 2 s
lun 09:48 · 4c1d8e7 Push 35 s

ayer 18:30 · e07b9d4

la versión sigue en el servidor

Volver a esta versión

Asistente

Sabe qué proyecto es y lo prepara.

Eliges el tipo de proyecto y el asistente propone la raíz web, el script, las carpetas compartidas y si hace falta base de datos. Después lo ajustas tú.
  • PHP

    Laravel

    Composer, cachés optimizadas y publicación desde public.

    Raíz web
    public/
    Compartido
    storage
    Base de datos
    la prepara
    Assets con Node
    si lo marcas
  • PHP

    Symfony

    Composer, entorno prod y publicación desde public.

    Raíz web
    public/
    Compartido
    var/log
    Base de datos
    la prepara
    Assets con Node
    si lo marcas
  • PHP

    WordPress

    Base de datos, wp-config.php y subidas persistentes.

    Raíz web
    raíz
    Compartido
    wp-content/uploads, wp-config.php
    Base de datos
    la prepara
    Assets con Node
    si lo marcas
  • PHP

    PHP / Composer

    Una base limpia para aplicaciones PHP con Composer.

    Raíz web
    raíz
    Compartido
    —
    Base de datos
    la prepara
    Assets con Node
    si lo marcas
  • Estático

    Frontend compilado

    Compila con Node y publica el resultado de dist.

    Raíz web
    dist/
    Compartido
    —
    Base de datos
    no hace falta
    Assets con Node
    siempre
  • Estático

    HTML estático

    Publica el repositorio tal cual, sin instalar nada.

    Raíz web
    raíz
    Compartido
    —
    Base de datos
    no hace falta
    Assets con Node
    —
  • A medida

    Otro proyecto

    Sin suposiciones: tú decides raíz, script y persistencia.

    Raíz web
    raíz
    Compartido
    —
    Base de datos
    la prepara
    Assets con Node
    si lo marcas

Qué incluye

Lo que hace falta para desplegar en serio.

Cinco decisiones del motor que no se ven en un «deploy desde Git» cualquiera, y que notarás el día que algo falle.

Script y Node

Tus comandos, en cada versión, con Node si hace falta

Composer, npm, artisan… comando a comando o como un script Bash completo, con el commit, las rutas y tu .env como variables. Si usa Node y la cuenta no lo tiene, se instala antes.
Composer npm ci artisan Node por NVM

si un comando falla, sigue en línea la anterior

Script de despliegue

plantilla · Laravel
Laravel Symfony WordPress PHP Node / Vite Ninguna

composer install --no-dev --prefer-dist --optimize-autoloader

npm ci && npm run build # Node instalado por NVM si falta

php artisan migrate --force # opcional: el rollback no deshace datos

php artisan config:cache && php artisan route:cache

Si un comando falla, el deploy se detiene y la anterior sigue en línea.

Base de datos

La base de datos, creada al conectar

Marca «preparar también la base de datos» y Deploy+ crea una base MySQL vacía, un usuario exclusivo y escribe la conexión en tu .env o wp-config.php. La contraseña no se guarda en ningún sitio.

MySQL

base, usuario y fichero en una sola operación

Base de datos · al conectar

lista
  • Base MySQL vacía mi_app
  • Usuario exclusivo con todos los permisos mi_app_usr
  • Conexión escrita en .env sin tocar nada a mano

DB_DATABASE=mi_app

DB_USERNAME=mi_app_usr

DB_PASSWORD=•••••••••••• # no se guarda en el panel

Configuración

El .env y las subidas sobreviven a cada versión

El .env se conserva solo y lo editas desde el panel. Las rutas que marques, como storage o uploads, viven en shared y se enlazan en cada versión nueva. El perfil del proyecto ya propone las suyas.
Lo habitual
Subidas y .env dentro del código, a merced de cada deploy
Aquí
Fuera del código: ni un deploy ni un rollback las tocan

Compartido entre versiones

~/deploy/tienda/

shared/ → releases/20260905-1012/

.enveditable

storage/del perfil

public/uploads/tuya

Enlazadas en cada versión nueva; un rollback tampoco las toca.

Consola

Consola en directo y comandos sobre lo publicado

Mientras despliega ves cada paso con su tiempo y, si algo falla, las últimas líneas. Después, un comando cuando lo necesites sobre la versión publicada, sin abrir una terminal.

6 pasos

conectar, clonar, compartidos, script, activar, limpiar

Ejecutar un comando

sobre current · máx. 2 min
$php artisan queue:restart Ejecutar

~/deploy/tienda/current

$ php artisan queue:restart

Broadcasting queue restart signal.

✓ terminado en 0,4 s

Seguridad

Un token con lo mínimo, cifrado y fuera del log

Leer el repositorio y, si quieres que el webhook lo creemos nosotros, gestionar webhooks. Nada más. Cada aviso de push se comprueba con la firma del proveedor.
solo lectura cifrado firma HMAC

revócalo cuando quieras: solo deja de funcionar el deploy

Permisos del token

los mínimos, y cifrado
ProveedorClonarWebhook
GitHubcontents + metadata · read+ webhooks
GitLabread_repository+ api
Bitbucketrepositories · read+ webhooks
Gitea / Forgejolectura+ webhooks
Otro Gitusuario + token—

Cifrado, solo para clonar, nunca en el log.

Todo esto va en todos los planes de hosting y en las cuentas de un plan Multicuenta, sin coste.

Leer la guía completa →

Dudas

Antes de conectar el primer repositorio.

¿En qué planes está incluido Deploy+?

En todos los planes de hosting, sin coste adicional. La herramienta está en el área de clientes, dentro de las opciones de tu servicio de hosting.

¿Funciona con repositorios privados?

Sí, con repositorios públicos y privados. En ambos casos hace falta un token de acceso de GitHub: crea uno fine-grained, limitado al repositorio que vas a desplegar y con permisos Contents: Read-only y Metadata: Read-only. No necesitamos permisos de escritura sobre tu código.

¿Se cae mi web mientras se despliega?

No. Cada despliegue se clona en una versión nueva, se enlazan los archivos compartidos y se ejecutan tus scripts antes de publicarla: solo cuando todo ha ido bien se mueve el enlace simbólico current a la versión nueva, y ese cambio es instantáneo. Si un script falla, el deploy se detiene y la versión anterior sigue en línea.

¿Cómo vuelvo a la versión anterior si algo sale mal?

Desde el historial, con el botón Rollback sobre cualquier deploy anterior. Tarda segundos porque no se clona nada: solo cambia a qué versión apunta current. Por defecto se conservan las 5 últimas versiones, y puedes ajustar cuántas quieres guardar.

¿Puedo ejecutar composer, npm o comandos de artisan?

Sí. Cada repositorio tiene un editor de scripts donde defines los comandos que se ejecutan en cada versión antes de publicarla: composer install --no-dev, npm run build, php artisan config:cache… El sistema filtra los comandos peligrosos. Para usar Node.js y npm, primero instálalos desde el Gestor de paquetes de cPanel.

¿Qué pasa con el .env y las carpetas de subidas?

No se pierden entre despliegues. El .env se detecta y preserva automáticamente, y puedes añadir las rutas que quieras (storage/app, uploads…) como archivos compartidos: se guardan aparte y se enlazan en cada versión nueva.

Tu próximo push, ya desplegado.

Deploy+ está en todos los planes de hosting, dentro de las opciones de tu servicio. Si vienes de otro proveedor, te ayudamos a montarlo.