Acquia Developer Studio HOW-TO

Acquia Developer Studio (from now on ADS), is a tool that my colleagues at Acquia have been working hard to release. I could say that it’s going to be the new Acquia Dev Desktop, but to be more precise, I'll use the official description from the Acquia docs site:

Acquia Developer Studio integrates many of the tools developers need to build better digital experiences, and to also be more productive. With Acquia Developer Studio, you can focus on building the best Drupal websites by using the tools you already know.
Source: https://docs.acquia.com/dev-studio/

Now let’s cut the chit chat and jump straight away into the arena:

Step 0. Installing ADS:

Linux/MacOS:

curl https://s3.amazonaws.com/acquia-ads-cli-updates/install-standalone.sh | sh

Windows:

Follow this installer:  https://s3.amazonaws.com/acquia-ads-cli-updates/channels/beta/ads-x64.exe

Now for the next step you'll have the option to use Drupalvm or Lando. In my case I'll use Lando, because it's the recommended way and because I want to compare this with the amazing DDEV (if you've read my previous posts you know already I am a big fan). After a few minutes you'll have your site ready:  

ads new webpsite

alejandromoreno@Alejandros-MacBook-Pro-2:~/projects/ads$ ads new webpsite
 
[....]
 
See more details with DEBUG=*
 
? Environment: Lando
 
  ✔ Create a Drupal project
 
  ✔ Create a Drupal environment
 
  ✔ Install the Drupal project in the environment
 
  ✔ Open Drupal in your browser
 
We generated a one-time login link for you to use right away 🔗 http://webpsite.lndo.site/user/reset/1/1565888090/oUljKr_7w6F0wQM-xAKlILTml-6NjhMegZZwi6B3XWE/login
 
🎉 Your new project has been created in /Users/alejandromoreno/projects/ads/webp.
 
You can now start to develop your project in that directory.
 
You may use ads browse inside the directory to get a link to your site or ads api --help to get the available Acquia Cloud API command.
 
Go build something amazing! 

BOOM!!! Just one command and we have a new Drupal site available. How does that compare to our old days of configuring MAMP, vagrant machines, ansible... Oh God, I feel old...

As I was saying, your new Drupal site is now available locally, accessible via an url like this one:

[PROJECT NAME].lndo.site

ie: webpsite.lndo.site

Now it all comes down to use a combination of ads commands and lando, in case you want to ssh, etc. For example:

For a grasp of what you can do with Acquia Developer Studio do:

# ssh into the container(s):
lando ssh
 
# As a root
lando ssh --user root
# Run uli
alejandromoreno@Alejandros-MacBook-Pro-2:~/projects/ads/webp$ ads drush uli
http://webp.lndo.site/user/reset/1/1565953682/aDcOzTBSJdD_ps98Jq8cbwM-cPx2jN-u2PA2vYFXtP4/login

ads help

alejandromoreno@Alejandros-MacBook-Pro-2:~/projects/ads/webp$ ads help
Acquia Developer Studio Command Line Interface
 
VERSION
  ads-cli/0.20.9-beta.eff9bff darwin-x64 node-v10.16.0 USAGE
  $ ads [COMMAND] COMMANDS
  api           utilize the Acquia Cloud REST API
  autocomplete  display autocomplete installation instructions
  browse        open the current local site in your browser
  clone         clone an existing project and start a local environment
  deploy        deploy your changes to a remote environment
  destroy       destroy the virtual environment in the current directory
  drush         use this to simplify the usage of Drush with ads
  feedback      sends feedback about this software to Acquia
  help          display help for a particular command
  init          initialize a project for use with the command line
  link          associate your project with an Acquia Cloud application
  logs          tail or download logs from any environment
  new           create a new working environment with a new Drupal project installed
  refresh       copy database and files from one environment to another
  ssh-key       create an ssh key on your local machine
  start         start your local development environment
  stop          stop your local development environment
  telemetry     toggle anonymous sharing of usage and performance data
  test          run automated tests locally
  update        update to the latest version

From this point, pretty much we have a standard Drupal 8 site, in this case using Lando. You need to download and install a new module? Get list of sites? Export the database? Let's do it!

# Get the code for the new module
composer require drupal/webp
# Enable it in Drupal
ads drush en -y webp
 
# Getting the list of sites?
ads drush sa
 
# Export the db?
alejandromoreno@Alejandros-MacBook-Pro-2:~/projects/ads/webpsite$ lando db-export
Success drupal8.2019-08-16-1565969048.sql.gz was created!
alejandromoreno@Alejandros-MacBook-Pro-2:~/projects/ads/webpsite$ ls -lh drupal8.2019-08-16-1565969048.sql.gz
-rw-r--r--@ 1 alejandromoreno  staff   974K 16 Aug 16:24 drupal8.2019-08-16-1565969048.sql.gz

All power of Drupal combined with BLT plus Lightning and Lando. What's not to love?

There is a huge lot more that you can do with BLT and ADS, but I'll leave that for a next article in the ADS series :-).

NOTE: Just remember that right now (August 2019), Acquia Developer Studio is in Beta. Try it at your own risk and, if you have any feedback, the ADS team will love to receive it: devstudio[AT]acquia.com :-)