En un post anterior ya hablamos de las bondades de utilizar DDEV como herramienta de desarrollo en local basada en Docker. Por defecto, DDEV nos configura un proyecto para Drupal 8 con algunas herramientas, como es el caso del gestor de dependencias Composer. Cada vez que necesitamos ejecutar composer no hace falta que lo ejecutemos de la siguiente manera:
# Desde el anfitrión con: ddev exec composer # Desde el contenedor con: ddev ssh composer
Sino que DDEV ya nos tiene preparado un comando para ejecutar Composer directamente desde la máquina anfitriona:
ddev composer
Pero ¿Y si queremos lanzar de la misma manera herramientas habituales como Drush o Drupal Console? El equipo de DDEV también nos ofrece una manera fácil de añadir comandos para hacer nuestro workflow más ameno.
Para añadir nuevos comandos a nuestro proyecto DDEV solamente tenemos que hacer algo tan simple como crear el comando que queremos ejecutar en la carpeta commands/ dentro del directorio .ddev/. Veámoslo con más detalle:
Situándonos en la raíz del proyecto nos dirigimos al directorio commands/:
cd .ddev/commands
Dentro nos vamos a encontrar una carpeta para cada servicio que, por defecto, DDEV nos provee. A nosotros, en este caso, nos interesa el directorio web/ que es donde se encuentra corriendo el servidor con nuestra aplicación Drupal 8.
cd web
Una vez en el directorio web/, DDEV nos da como ejemplo el comando drush, drush.example. Solamente tenemos que copiar y renombrar:
mv drush.example drush
Si lo abrimos vamos a ver que se trata de un script bash que ejecuta drush con los flags y argumentos que le pasemos. Vamos a hacer lo mismo para Drupal Console:
touch drupal nano drupal
Y escribimos las siguientes líneas:
#!/bin/bash ## Description: Run Drupal onsole inside the web container ## Usage: drupal [flags] [args] drupal $@
Guardamos y reiniciamos DDEV:
ddev restart
Ahora cada vez que queramos ejecutar Drush o Drupal Console desde el dispositivo anfitrión basta con utilizar los comandos:
ddev drush ddev drupal