Drupal 9

Get started with Drupal 9 on the Pantheon WebOps Platform.

Contributors: Matt Cheney, Edward Angert.

Discuss in our Forum Discuss in Slack

This how-to guide walks you through the high level, end-to-end deployment steps to set up Drupal 9 on the Pantheon WebOps platform.

About Drupal 9

Drupal 9 includes many of the features and layout that Drupal 8 users are familiar with, and it removes deprecated code to help improve future Drupal development.

Drupal 9 updates Drupal’s underlying dependencies like Symfony 4.4 and Twig 2, removes several deprecated API functions in favor of better options, and allows everyone running Drupal 8.8+ an easy upgrade path to Drupal 9 and beyond.

Drupal 9 With Integrated Composer

On the Pantheon Platform, Drupal 9 sites use Integrated Composer, letting you deploy your site on Pantheon with one-click updates for both upstream commits and Composer dependencies, while still receiving upstream updates.

 A note about Limited Availability

Currently, Drupal 9 is available on Pantheon as a Limited Availability feature release. This means the feature is currently in active development.

Pantheon engineers are rolling out changes often.

Site Structure

The upstream has the following directory structure:

├─ .gitignore
├─ composer.json
└─ pantheon.upstream.yml
├─ README.md
└─ upstream-configuration/
   └─ composer.json
  • .gitignore: Prevents build artifacts generated by Composer from being committed to the upstream or site code repositories.
  • composer.json: The two different composer.json files allow customization of individual sites without inherent merge conflicts and enable one-click updates.
    • Root-level: Site-level customizations.
    • upstream-config/composer.json: Composer automatically updates composer.json with customizations for the upstream. Avoid manually modifying this file.
  • pantheon.upstream.yml: The build_step: true directive in pantheon.upstream.yml enables the build step.

When a site is created, Pantheon runs composer install, generates a composer.lock file and commits it back to the site’s code repository.

Build artifacts are stored in a Git tag like pantheon_build_artifacts_$BRANCHNAME (where $BRANCHNAME is the name of the environment or Multidev feature branch).

Managing Dependencies with Composer

Learn more about working with upstream and site dependencies in the Integrated Composer documentation.

Before You Begin

  • Log in to your Pantheon account. If you don't have one, create one first and familiarize yourself with the User Dashboard before you create a new site.

  • Set up SSH Keys on your local computer and Pantheon account.

  • Install and configure Git and Composer on your local computer.

    • Mac users can use Homebrew to install both Git and Composer, along with their required dependencies:

      brew install git composer

Create a New Drupal 9 Site with Integrated Composer

If you're not ready to create a new site yet, you can also check an existing site's compatibility to upgrade.

  1. Use this link to create a new Drupal 9 Integrated Composer site from the Upstream: https://dashboard.pantheon.io/sites/create?upstream_id=e96c6794-77fe-4931-9a20-48a2fe1a3789. On the Create Your Pantheon Site page:

    • Enter a name for the site.

    • Choose an Organization if applicable.

    • Choose a region for the site. Click Continue.

    After you click Continue, it will take several minutes for the platform to set everything up.

  2. In the Dev tab on the Dashboard, set the site's Development Mode to SFTP.

  3. Still in the Dev tab, click Visit Development Site and follow the prompts to complete the CMS installation.

  4. Return to the Dev tab, set the site's Development Mode to Git, and clone the site locally.

  5. In your local terminal, from the project root directory, run composer install.

Upgrade or Migrate to Drupal 9

To upgrade or migrate an existing Drupal site to Drupal 9 with Integrated Composer, see the Drupal 9 Migration Guide.

Troubleshooting and Support

See the Drupal 9 Migration Guide for help troubleshooting common issues with Drupal 9 with Integrated Composer.

Where can I report an issue?

Contact support to report any issues that you encounter.