Mediile noastre de la distanță sunt în prezent în fața unei instanțe Linux care acționează ca gatekeeper între dezvoltatori și mediile reale (instanțele apache și mysql care rulează Drupal). Acest lucru a fost făcut pentru a limita expunerea mediilor reale și a limita detaliile care trebuie partajate dezvoltatorilor (de exemplu, chei ssh, adrese URL, adrese IP).
Pe mașina de gatekeeper, Drush este instalat și a ~/.drush/sites/project.site.yml
există cu detaliile mediilor reale:
'dev':
db-url:...
# Alte detalii despre dezvoltatori
'Test':
db-url:...
# Alte detalii de testare
'Trăi':
db-url:...
# Alte detalii live
Pe mașinile noastre locale, dezvoltatorii au acces limitat SSH la acest server gatekeeper și au un web/drush/sites/project.site.yml
în proiect care arată doar așa:
'*':
gazdă: „gatekeeper.project.net”
utilizator: „admin”
Se aștepta ca dezvoltatorii să poată face ceva de genul drush @project.dev sql:dump
iar Drush ar transmite acest lucru serverului gatekeeper pentru a-l rula împotriva dev
alias. Totuși, primesc următoarea eroare:
Comanda „ssh -t -o PasswordAuthentication=no [email protected] „drush sql:dump --uri=default”” a eșuat.
Se pare că a fost doar redirecționat drush sql:dump --uri=implicit
la server și nu drush @project.dev sql:dump --uri=implicit
. Acest lucru mergea înainte cu Drush 8, am avut o configurare de succes folosind această metodă. Dar acest lucru nu mai funcționează cu Drush 9+ cu o configurație tradusă.
Cum trec @project.dev
(sau orice alias) la serverul de la distanță? Îmi lipsește o configurație? Există o modalitate mai bună de a face asta?