Created by Jim Taylor / @jalama
Started in Drupal development in 2007 with version 5.2 bigjim on drupal.org @jalama on Twitter
I have worked at Rooty Hollow, Verizon Wireless, Highlights for Children.
Current gig, Internet Stratey at Able Applied Technologies
A Python script to help keep your Drupal codebase(s) up to date, leveraging Drush.
It's all about the code
, it's up to you to implement, i.e. run update.php
Keep your code updated in one command $ drupdates
Avoid things like Drupalgedon!
Worry less about the Drupal secutiry team's Wednesday module/core/theme updates.
Are you in a PCI evironment, then you have 30 days to apply all CRITICAL security patches!
Drupdates works in 3 phases
The initial phase is to build the code base from the origin Git repository.
After the repository is built Drush's core-quick-drupal command stands the site up on SQLite.
Note: keeping it simple, uses minimal profile, SQLite, and --max-depth=1 for git pull
The second phase leverages Drush pm-updatestatus and pm-updatecode to run the code updates and apply them where necessary.
Including: modules, theme, core, make files, multi-site installs.
The code is then committed to the remote Git repository.
Reporting formats include: stdout, Slack, sendmail and outputting to a file (YAML or JSON).
If an error occurs with a single site that will be reported on and Drupdates will move to the next site. If Drupdates can't function (i.e. can't find Drush) it will quit and report on why.
Repos containing vanilla file/folder layout
Repos containing only make files
Repos with make file and a built version of the site
Repos containing multisite installs
If you maintain sites with different file structures or other different updating needs, such as:
You can maintain them with a single Drupdates installation
You can choose to update enabled modules only, update custom modules, etc...
You can submit a request to deploy code to a project management system or not
Results reported via: sendmail, Slack, written to file or stdout
Drupdates variabes are stored in YAML files.
Base settings file can be found on Github
See documentation at http://drupdates.readthedocs.org/
Drupdates support a relatively primitive plugin system, I'll be the first to admit it's simple.
Plugins support the different options for reporting results, requesting code deployments, and storage of Git repos.
Source Code: https://github.com/jalama/drupdates
Documentation: http://drupdates.readthedocs.org/ (also in the /docs folder in the source code.)
PyPi: https://pypi.python.org/pypi/Drupdates
Travis CI: https://travis-ci.org/jalama/drupdates
Waffle.io: https://waffle.io/jalama/drupdates
Sam Hetrick, @randompants, for testing help
Presenation available at
http://jalama.github.io/dco-drupdates-presentation,
written using @wesruv's fork of reveal.js