Drush is a command line (CLI) tool for interacting with a Drupal site locally or remotely. Drush is not globally available on China Managed Services and it should be deployed inside the Drupal codebase through composer.
To install Drush, Acquia recommends adding it as a composer dependency to your Drupal codebase.
composer require drush/drush:^10.0
This will install drush into the vendor/bin directory of your codebase root.
This document assumes this is where your drush executable is found.
Drush aliases help make it easier to access your sites on China Managed Services using drush. When your full provision is complete, you’ll receive an Acquia Support ticket with:
The IP addresses for your dev, test, and prod environments
Username for your unix/application user
You’ll need to provide SSH public keys and originating IP addresses to the Support ticket so that your SSH access (and drush aliases) work correctly.
To configure remote access to your China Managed Services environments, create a <app>.site.yml drush alias file as shown in the following example:
prod: host: <prod_ip_address> user: <app_user> root: /var/www/<app_user>/html/source/docroot/ uri: http://www.<app_domain>.com.cn ssh: options: '-o ProxyJump=<app_user>@<bastion_ip_address> -o ForwardAgent=yes' paths: drush-script: '/var/www/<app_user>/html/source/vendor/bin/drush' test: host: <test_ip_address> user: <app_user> root: /var/www/<app_user>/html/source/docroot/ uri: http://test.<app_domain>.com.cn paths: drush-script: '/var/www/<app_user>/html/source/vendor/bin/drush' dev: host: <dev_ip_address> user: <app_user> root: /var/www/<app_user>/html/source/docroot/ uri: http://dev.<app_domain>.com.cn paths: drush-script: '/var/www/<app_user>/html/source/vendor/bin/drush'
The production environment routes through a bastion server and uses the ProxyJump command to seamlessly jump through it.
If your organization requires you to proxy through a corporate jump server so that you can originate from an allowlisted IP, you can add this to your ssh config so that the above drush alias configuration still works.
Host corporate.proxy ForwardAgent yes Host <dev_ip_address> ProxyJump corporate.proxy Host <test_ip_address> ProxyJump corporate.proxy Host <prod_ip_address> ProxyJump corporate.proxy