Hello,
Idea inspired from Heroku
Intro
Miguel Jacq, in his blog post on October 15th 2009, has explained how to solve the dev/staging/live workflow problem in Drupal with Aegir, Version control, and Drush Make.
One must start to think like Aegir: and that is that the Platform and its application is the important data, that needs to be controlled. The site is just an instance of the application, and so long as your application is controlled, your site can be manipulated as an instance of it.
Since that time Aegir become a part of my development environment and
now I think it's time to move to the next step and give it a try in
the live, but here some problem remain... However it's easy to run
several clients on the identical platform there still lack of proper
isolation and continuous deployments for themes and site-specific features.
Possible solution
Still think of platform as an application and site of it's instance,
but with custom identity(theme) and possible some complex
settings(site-specific features, etc.) when needed.
Possible implementation
- SSHKey module to manage keys in Aegir
- Patch openssh-for-git
- Script to authentithicate git-push attempts through Aegir
- post-receive hook to backup, update site and rollback on failure
- every site repo consist of feature and theme only, i.e. ignoring anything also
What do you think?
Thanks