Example tasks
- Perform security updates to Drupal core and contributed modules
- Update Drupal core for a patch version, e.g. from Drupal 9.3.1 to 9.3.2
- Update Drupal core for a minor version, e.g. from Drupal 9.2.x to 9.3.x
- Update a contributed module to a new version
- Keep track of Drupal's minor release and security updates
Confidence
The best-practice for Drupal is to use Composer. There is ongoing work to provide alternatives, but none of those have come to fruition yet. We have high confidence that the information on Drupal.org and in the Drupal User Guide will be updated with current best practices as they evolve. Simply put, this process involves updating the code in your project with the latest code from Drupal.org, so any process that facilitates doing that will continue to work.
Drupalize.Me resources
More information
Drupal's development has a regular release cycle consisting of major, minor, and patch releases. Drupal releases use semantic versioning for its version numbers. Since we're committed to making sure our tutorials are kept up-to-date with the latest and greatest version of Drupal we figured it would be a good idea if you knew how to keep your Drupal site up-to-date with the latest "point" releases as well.
This tutorial will cover:
- How to determine the type of update
- The standard update procedure
- Update Drupal using Drush
- Update Drupal using Composer
This tutorial won't cover:
- How to perform a major version Drupal upgrade, for example, from Drupal 6 or 7 to the latest version of Drupal. For that, see our guide, Learn to Migrate to Drupal.
More information
One of the problems that Drush solves for developers is the automation and optimization of routine tasks. Drush commands attempt to speed up workflows and tasks that developers and site maintainers would otherwise have to do manually through the UI, or run one-by-one via the command line. One of those tasks is the process of deploying changes to a Drupal application from one environment to another.
The typical Drupal deployment process consists of repeatable steps such as importing configuration changes, applying database updates, and clearing the cache. Drush comes with the handy drush deploy
command that allows you to automate the execution of all of these tasks post code deployment.
In this tutorial we'll:
- Learn about the
drush deploy
command
- Discuss when you would use the
deploy
command
By the end of this tutorial you'll know how to use the drush deploy
command in conjunction with other useful deployment-related commands to help automate the task of deploying changes to a Drupal site's configuration and code.
More information
How to use the Composer tool to manage the files in the core software and add-on modules and themes.
More information
Drupal 8.8.0 introduced a bunch of new features intended to make it easier over the long-term to maintain a Drupal project using Composer. In doing so it establishes some new best practices, and moves into Drupal core solutions that were previously maintained by the community. This is all good news. But, it means if you're using Composer to update from Drupal 8.7.x or lower to 8.8.0 or higher you'll need to do a bit of additional work to untangle everything.
This tutorial is especially useful if you started your Drupal project using the drupal-composer/drupal-project
template and would like to convert to use the new templates (i.e. drupal/recommended-project
or drupal/legacy-project
) included with Drupal 8.8.x core.
In this tutorial we'll:
- Convert our project to use the new
drupal/core-recommended
, and drupal/core-dev
Composer packages
- Explain which commonly used Composer packages are deprecated, and which new ones replace them
- Learn how to use the
drupal/core-composer-scaffold
Composer plugin
- Cover tips for troubleshooting updates
Furthermore, in order to Upgrade to Drupal 9 from Drupal 8, you will first need to update your Drupal 8 site to at least version 8.8, as the upgrade paths for Drupal 8 site from before Drupal 8.8.0 have been removed from Drupal 9.
By the end of this tutorial you should be able to update your Drupal projects using Drupal core 8.7.x or lower to Drupal core 8.8.0 or higher using Composer. And be ready for an upgrade to Drupal 9.
More information
Every Drupal site consists of many Drupal projects like modules and themes. Drush comes with a group of commands that aid in managing projects from the command line. These commands can check which modules are present in a site's codebase, report their security status, enable modules, and display metadata for modules and themes. All of these commands start with the pm
prefix, and are part of the project manager group.
Common use cases for the project manager commands include: quickly enabling/disabling modules via the CLI rather than performing numerous clicks in the UI, and as part of CI/CD process that lists (or maybe even automates) security updates.
In this tutorial we'll:
- List the available
pm
commands
- Enable a module with Drush
- Uninstall a module with Drush
- Use Drush to check for security updates for modules, themes and PHP packages
By the end of this tutorial you'll have an understanding of the project manager commands that come with Drush, how to use them, and how to speed up common workflows and maintenance tasks.
More information
Learn about resources to guide you through the process of updating a module or theme to the latest version of Drupal.
This chapter of the User Guide provides an overview of security and maintenance concepts and includes step-by-step tutorials on updating the core software, modules, and themes.
For Drupal 7:
More information
Once you have your site up and running it is very important to keep your site up to date and secure. Both Drupal core and contributed projects continue to improve the software with bug fixes and security updates. In this chapter we look at using the core Update Manager, and explain how to read the various reports about our site's status. Before we walk through the process up updating a contributed module, as well as our version of Drupal core, we also make sure we do a backup.
External resources
-
Updating Drupal core via Composer (Drupal.org)
- Much of the same information as the above resources, though more condensed. Use this if you’re already familiar with the process and just need a reminder of what commands to run.