Drupal Consoleはローカルサーバー上だけでなく、リモートサーバーに対してもコマンドを実行できます。
この機能を利用するためには、接続したいリモートサイトの名前を --target オプションを指定します。
$ drupal --target=sample.dev cr all
ローカルマシンからリモートサイトへ接続するためには、少しだけ設定が必要です。
~/.console/config.yml でリモート接続するためのグローバル設定を提供できます。この情報は remote キーでグルーピングされています。
application:
...
remote:
user: root
port: 22
console: /usr/local/bin/drupal
options:
arguments:
keys:
public: ~/.ssh/id_rsa.pub
private: ~/.ssh/id_rsa
passphrase: ~/.ssh/passphrase.txt
~/.console/sites/sample.yml を複製して ~/.console/sites/ にコピーすることで、特定のサイト向けの設定を提供する事ができます。
local:
root: /var/www/drupal8.dev
host: local
dev:
root: /var/www/html/drupal
host: 140.211.10.62
user: drupal
prod:
root: /var/www/html/docroot
host: live.drupal.org
user: drupal
console: /var/www/html/docroot/console.phar
site:debug コマンドで、全てのローカル及びリモート上のサイトを取得することができます。
$ drupal site:debug
+--------------------+-----------------+------------------------+
| Site | Host | Root |
+--------------------+-----------------+------------------------+
| sample.local | local | /var/www/drupal8.dev |
| sample.dev | 140.211.10.62 | /var/www/html/drupal |
| sample.prod | live.drupal.org | /var/www/html/docroot |
+--------------------+-----------------+------------------------+
site:debug コマンドの引数にサイト名を渡すと、サイトの詳細情報が表示されます。
$ drupal site:debug sample.dev
user: drupal
port: 22
console: /usr/local/bin/drupal
options:
arguments:
keys:
public: ~/.ssh/id_rsa.pub
private: ~/.ssh/id_rsa
passphrase: ~/.ssh/passphrase.txt
root: /var/www/html/drupal
host: 140.211.10.62
remote: true
備考: サイトをデバッグするときに、グローバル設定と特定のサイト向けの設定がマージされていることに気づいたかもしれません。これらのキーを特定のサイト向けの設定に追加することで、全てのグローバル設定は上書きすることができます。