Наши удаленные среды в настоящее время находятся под управлением экземпляра Linux, выступающего в качестве привратника между разработчиками и фактическими средами (экземпляры Apache и mysql, на которых работает Drupal). Это было сделано, чтобы ограничить воздействие реальных сред и ограничить детали, которыми необходимо делиться с разработчиками (например, ключи ssh, URL-адреса, IP-адреса).
На машине-привратнике установлен Drush и ~/.drush/сайты/project.site.yml
существует с деталями фактической среды:
'разработчик':
БД-адрес: ...
# Другие подробности о разработчике
'тестовое задание':
БД-адрес: ...
# Другие детали теста
'жить':
БД-адрес: ...
# Другие живые детали
На наших локальных машинах разработчики ограничили SSH-доступ к этому серверу-привратнику и имеют веб/drush/сайты/project.site.yml
в проекте, который выглядит так:
'*':
хост: 'gatekeeper.project.net'
пользователь: «админ»
Ожидалось, что разработчики смогут сделать что-то вроде drush @project.dev sql: дамп
и Drush просто перенаправит это на сервер-привратник, чтобы запустить его против разработчик
псевдоним. Однако я получаю следующую ошибку:
Не удалось выполнить команду «ssh -t -o PasswordAuthentication=no [email protected] 'drush sql:dump --uri=default'».
Похоже, это только перенаправлено drush sql:dump --uri=по умолчанию
на сервер и не drush @project.dev sql:dump --uri=по умолчанию
. Раньше это работало с Drush 8, у нас была успешная настройка с использованием этого метода. Но это уже не работает с Drush 9+ с переведенной конфигурацией.
Как мне пройти @project.dev
(или любой псевдоним) на удаленный сервер? Я пропустил какую-то конфигурацию? Есть лучший способ это сделать?