From 4 releases per year to 4 releases per day
This session presents a case study where the delivery process for a large government web platform was dramatically improved by automating as much as possible.
When the European Commission adopted Drupal for their internal websites, this project grew organically from a single site to a large Drupal 7 distribution running over 70 websites, developed by a team of 200 developers from 28 different countries.
As the project grew the legacy workflow processes that were in use became unmaintainable. This session will show how we moved from a largely manual process to fully automated continuous deployment.
-
Moving from SVN to git.
-
Adopting the “successful git branching model”: feature branches, release branches, tags.
-
Making the development process accessible by external contractors by moving from a DMZ to third party services.
-
Automating many steps in the QA procedure.
-
Rejecting bad code through static analysis before it reaches a human QA engineer.
-
Providing automated tests using Behat to replace manual regression testing.
-
Testing compatibility with new releases of components in the stack (e.g. PHP 7) to catch problems early.
-
Deploying ticket branches to ephemeral acceptance servers hosted on Amazon AWS.
-
Automating Drupal site builds with Drush Make, Composer and Phing.
-
Providing a “starterkit” that includes standardized build tools to allow rapidly create new websites.
- Adopting continuousphp to highly parallelize our delivery pipelines and get quick feedback.