¿Cómo uso los alias de sitio de Drush 8 en Drush 9?

11

En Drush 8, los alias de mi sitio se cargan correctamente ~/.drush/mysite.aliases.drushrc.php.

P.ej

$aliases['dev'] = array(
  'root' => '/var/www/html/mysite.dev/docroot',
  'uri' => 'mysite.prod.acquia-sites.com',
  'remote-host' => 'mysite.ssh.acquia-sites.com',
  'remote-user' => 'mysite.dev',
  'path-aliases' => array(
    '%drush-script' => 'drush' . $drush_major_version,
  ),
);

Sin embargo, estos alias no se cargan en Drush 9.

$ drush site-alias
{  }

¿Cómo debo definir los alias de sitio en Drush 9? ¿Hay algún proceso de migración?

kenorb
fuente

Respuestas:

14

Los alias ahora se proporcionan en archivos YAML. De acuerdo con el archivo de alias de ejemplo para Drush 9 :

Para convertir legacy alias ( *.aliases.drushrc.php) a yml, ejecute el sitio: comando alias-convert.

Entonces ejecutando el comando:

drush site:alias-convert

debería hacer el truco.

Clive
fuente
1
También tenga en cuenta que las ubicaciones de descubrimiento de alias son más limitadas por defecto en 9.
moshe weitzman
ejecutar esto generó los archivos yml, pero están vacíos por alguna razón.
Ronnie
1
Aquí hay un desglose un poco más detallado de los pasos necesarios para que los alias drush 9 funcionen. drupal.stackexchange.com/questions/252751/…
TheRealWebGuy
1
No estoy seguro de cuánto influye esto aliases.drushrc.php original. El mío tenía tres alias (dev, puesta en escena, producción), que generaban tres archivos, que solo pertenecían al local, pero uno tenía los tres. Luego los dividí de acuerdo con mis tres compilaciones, y eliminé el resto, que ahora funciona bien.
karolus
2

La respuesta de Clive es un comienzo, pero como señala TheRealWebGuy, hay otro paso que debe tomar.

Estaba actualizando de drush 8 a drush 9, y mis alias todavía no funcionaban después de correr drush site:alias-convert. Un paso adicional que necesitaba tomar para que mis nuevos archivos de alias funcionaran era ejecutar drush init. Lo ejecuté en mi directorio de inicio de usuario; No sé si eso importa.

Esperemos que esto ahorre a los futuros usuarios algunos clics y búsquedas adicionales.

usuario1359
fuente
drush initcopia las configuraciones locales (proyecto) a sus configuraciones globales de drush (máquina) en ~/.drush. Haga esto si quiere alias globales.
wranvaud