Scaling Drupal Multisite Deployments with GitHub Actions
Deploying a single Drupal site is easy, but deploying hundreds is not. This session shows practical, battle-tested patterns to scale Drupal multisite deployments using GitHub Actions, balancing speed, cost, and infrastructure stability.
Prerequisites:
- Basic understanding of Drupal, including the concept of multisite
- Introductory knowledge of CI/CD concepts
- Some experience running Drush commands is helpful
No advanced DevOps knowledge required.
Drupal multisites are a common choice when managing many related websites, but deployments often become slow, fragile, or expensive as the platform grows.
In this session, I walk through the evolution of a real deployment pipeline built with GitHub Actions. Starting from a simple sequential approach, we explore different ways of scaling it and the problems that appear along the way.
Topics covered include:
- Typical deployment challenges in Drupal multisite environments
- Why sequential deployments stop working at scale
- Using matrix jobs in GitHub Actions to run deployments in parallel
- Execution time versus billed time
- Limiting parallelism to protect infrastructure
- Building dynamic matrices from job outputs
- When self-hosted runners make sense
- GitHub limitations and how to overcome them
Learning Objectives
After this session, participants will be able to:
- Understand the deployment challenges specific to Drupal multisite setups
- Design scalable GitHub Actions workflows for multisite deployments
- Use matrix strategies effectively, including limits and dynamic outputs
- Balance parallelism to avoid overloading servers and databases
- Evaluate when self-hosted runners make sense from a cost perspective
- Apply chunking strategies to deploy hundreds of sites reliably
- Make informed trade-offs between speed, cost, and maintainability