Ddev Rsync

Para desplegar desde Ddev con rsync, se puede configurar un provider dentro de .ddev/providers/.

El ejemplo asume un archivo .ddev/providers/staging.yaml.

Variables del provider

Dentro de environment_variables puedes definir las rutas remotas para base de datos y archivos.

environment_variables:
  dburl: [email protected]:/path/to/database.sql.gz
  filesurl: [email protected]:/path/to/app

Evita guardar credenciales reales en notas o repositorios. Usa usuarios, hosts y rutas de ejemplo en documentación pública.

Comando de subida

Dentro de files_push_command puedes definir el comando rsync.

files_push_command:
  command: |
    set -eu -o pipefail
    rsync -az --exclude-from='excludes.list' "${DDEV_COMPOSER_ROOT}/" "${filesurl}/"

DDEV_COMPOSER_ROOT apunta a la raíz del proyecto dentro del contenedor. En muchos proyectos será /var/www/html.

Exclusions

Crea un archivo excludes.list en la raíz del proyecto para evitar subir archivos locales, dependencias o configuración sensible.

.env
auth.json
node_modules/
.ddev/
.github/
tests/
playwright.config.ts
package-lock.json
yarn.lock

Relacionado