2017: Drupal 8 distribution begins, first D8 website (A→D7 migration ends)
2018: D8 requirements set (hosting, branding, membership)
2019: D8 distribution starts, production begins (CI/CD deployed)
2020: Currently at 27 D8 websites
Innovations
2014: Drupal Multi-site
Pantheon discussions and debate over multi-site
The DevOps-like dashboard for managing websites
2015: Drupal Omega Base + Sub theme
Simplified enforcing our branding across n number of websites
Reduced complexity of our support by providing reasonable defaults for content migration
Innovations
2016: Department profile management
The "People" section of our websites
Faculty Database System (FDS) → Scholars effort
Missing: non-faculty membership and our TCA&S-wide directory on trinity.duke.edu
Support for Duke's system of record
Solution: design and implement middleware
Directory Tool
Plenty of Feeds
Drupal 8: Design phase
Finished D7 website migration by 2017
Goal setting
Enforce feature and content denormalization
Continue to lean on community, not custom modules
Confirm: multi-site
Configuration management
Exploit DevOps tools: Composer, CI/CD
DevOps becomes a real thing
You've got developers in my sysadmins?
You've got sysadmins in my developers?
Mmmm! It's good!
Our CI/CD Pipeline
Site tasks
Pushbuttons
Revert
Migrate
Enable maintenance mode
Production backsync
Restore DB
Staging to Prod
DB Backup
Git pull <branch>
Revert code
Git Reset --hard <branch>
Drush entity update
Drush clear caches
Apache OpCache clear
Drush config export
Drush config import
Fix permissions
Disable maintenance mode
Backsync DB from prod
Our Current Workflow
Continue to enhance our content editorial experience
Weekly meetings with the TCA&S Comm team
Tamp down scope creep as we scale
Synchronize core features and display across all websites
Extend our CI/CD to WordPress and other servers
In process: default site content
Q & A
thank you
Drupal Multisite on a Dime or How we Adopted CI/CD for TCA&S’s Drupal Multisite Hosting for Trinity’s 100+ Drupal websites This presentation: https://bit.ly/tcas-drupal-multisite