Aegir
half-way through a big refactor
Basics
System/process overview
Aegir uses Drupal multisite features to share one Drupal codebase install as a 'platform' between sites. Distributions are equal to platform+site, i.e., turnkey solutions. Content can be shared (migrated) between sites using an updated or different platform (with the same content modules, natch). A platform and site distribution is created from a .make and .info using Drush Make. The Profiler library is installed with the .make and uses a .info file to specify modules to be initialised, including site sections/etc. from the Features module plus configuration settings via the Strongarm module. Provision initialises a site on that platform and installs the platform+site in Aegir. Features and theme are stored using Git, --working-copy can be used to build a dev site then content can be migrated from live for testing. Dev platform is perfected, then rebuilt as live without --working-copy.
Stack
See: BOA
Also;
- http://drupal.org/project/puppet-aegir
- http://drupal.org/project/puppet-drush
- https://redmine.koumbit.net/projects/puppet-apt
- https://labs.riseup.net/code/projects/shared-common
Dev/production workflow
- Drupal deployments & workflows with version control, drush_make, and Aegir (mig5, Oct 28 2009)
- Using drush hosting-import to auto-create your platform node (and other entities) (mig5, Jan 11 2011) - Updated workflow on Aegir mailing list
- From Zero to Distribution using Features, Profiler, and Drush Make (dimitri, March 9, 2011)
Drush
Drupal on the command-line. The backend of Aegir is the Provision module for Drush.
- Drush - issues
- Drush.ws
- example.aliases.drushrc.php Drush context alias example
Drush Make
Drush Make is part of Drush as of Jan 2012.
- Drush Make readme
- Drush Make theory for happy profile development
- Using drush_make to optimize workflow - Basics of make/profile management from mig5's first article
Example make files
- example.make
- github search
- https://github.com/mig5/builds
- http://drushmake.me/ - automatic generation demo
Libraries
Using the Libraries API, make files can specify external libraries to be downloaded.
; CKEditor libraries[ckeditor][download][type]= "get" libraries[ckeditor][download][url] = "[ckeditor zip url goes here]" libraries[ckeditor][directory_name] = "ckeditor" libraries[ckeditor][destination] = "libraries"
Profiles
- Developing installation profiles
- Install Profile Packaging
- Packaging a profile on drupal.org (make file -> install profile)
Profiler library
Features and settings
To do: Features
- Features enables the capture and management of features in Drupal. A feature is a collection of Drupal entities which taken together satisfy a certain use-case.
- Strongarm gives site builders a way to override the default variable values that Drupal core and contributed modules ship with. [1]
- Global variables
- Hosting Features - provides a Task to Hostmaster that provides integration with a site's Features. It is currently in development but works for the most important task: Update & Commit Features
Aegir
Usage
- remote_import - Drush extension that allows you to fetch remote sites from remote Aegir servers
- http://drupal.org/project/hosting_remote_import hosting_remote_import] - module that provides a UI for remote_import
Provision
Importing a site
- http://community.aegirproject.org/content/importing-complete-drupal-platform
- http://community.aegirproject.org/content/importing-existing-aegir-backups
Clone sites
Migrating and updating platforms
Migration between Aegirs
- Remote import - Provision, Remote import - Hostmaster - Drush extension allows you to fetch remote sites from remote Aegir servers.
Aegir contrib.
- https://github.com/computerminds/aegir_make_working_copy - provides git working copy option un hostmaster gui for dev sites.