Published
2010-05-02 15:11
Over the first three days of the code sprint, we got through most of the tasks to be done. So, on the last day it was decided that some time could be allocated to something different, taking advantage of developpers from different continents being together. Three of us spent a few hours working on coding a way to deploy CiviCRM site with Aegir.
Aegir is an installation profile and a group of modules (mostly hosting and provision, along with drush) that make it possible to provision (install, update, clone, backup, etc.) new Drupal sites with the click of a button. Leveraging this system for CiviCRM will have great benefits: making installation quick and easy for non-technical users, keeping the Drupal and CiviCRM installations up to date more easily, which improves security. Being able to quickly install a new site (or clone an existing one) also helps developpers, who can more easily test bug fixes or do a "dry-run" before upgrading a site.
In my day job at Koumbit, we maintain an increasing number of sites using Aegir, a bunch of them using CiviCRM. I had already started working on an extension to provision that would be able to deploy CiviCRM, when it was brought to my attention that Deepak had just published a Drush script for CiviCRMdrush extension for CiviCRM. The code sprint was an occasion to collaborate with both Deepak and Wes Morgan while having Antoine Beaupré (a fellow Koumbiteer and a member of Aegir's development team) on irc. All of us worked on refactoring the CiviCRM install code and a new drush extension, taking advantage of provision's features. We worked on it the whole afternoon, and thus were able to demo Aegir installing a CiviCRM site at the after dinner show-and-tell!
This sprint made it possible to do it all in a day. The CiviCRM Aegir integration stands out as a great example of the synergy created by an international code sprint, like the one we have just completed.
If you feel like playing with Aegir yourself (and hopefully helping improve our work), here's what you'll need:
- a working installation of Aegir (which can be somehow complicated, depending on your platform)
- a copy of the latest CiviCRM 3.2 code from subversion in sites/all/module (you only need to follow instructions #1 and #7: the rest will be done automatically!)
- and most importantly, the latest version of code we worked on, downloaded or cloned with git from the github provision_civicrm repository and saved into your .drush folder
Comments
This is awesome. Upgrading/Installing CiviCRM takes the most time. Would be nice to have a CiviCRM install profile, or an ability to "roll this out" in an automated way to clients.
Totally awesome.
I am trying to use this unsuccessfully with Drupal 7 using current versions of Drush, Aegir (1.1) & PHP 5.3 (Ubuntu 10.4 server).
Perhaps an update ... would be a appreciated.
Hi,
There is an issue open (and patch which requires testing) for Drupal 7 support here: http://drupal.org/node/1124266
Thanks for the feedback,
matt (bgm on IRC #civicrm)