Test your Drupal distro: Building a continuous integration server with Aegir & Jenkins

A while ago I wrote that I had started to use Jenkins for various purposes such as server backups, providing better notification in event of failure, yadda yadda.

Over at the Aegir project I implemented Jenkins to give us a continuous integration platform that kicks into gear either on demand or whenever one of us pushes a commit to the Drupal git repos. It does the following:


Upgrading Aegir itself to the latest version of Drupal

Today, Drupal released a security/bugfix for Drupal 6 and 7, bringing the latest version of Drupal 6 to 6.22.

Aegir is well known for making site upgrades very easy, fast and safe by way of the Migrate task. But some users might be wondering how to make the Aegir 'frontend', which is a Drupal-6 site itself, run on the latest version of Drupal without having to reinstall Aegir entirely.

For instance, if you installed Aegir 1.0 or 1.1, your Aegir system is probably running on Drupal 6.20.


Discovering Jenkins and increasing productivity

At my part time job, my junior has been fleshing out a Jenkins (formerly known as Hudson) installation.

In the long term, what we have in mind is providing a proper testing suite for the developers and testers in the company to use. But to get to grips with the software and what it's capable of doing, he came up with a great idea: transition our routine cron tasks into Jenkins 'builds'.


Developing for Aegir - extending Aegir and communicating with install profiles

Aegir is a pretty powerful tool that allows you to very quickly provision new Drupal sites out of the box and manage them throughout their lifespan through a variety of tasks.

Its ability to understand different install profiles and thus 'distributions' shoots the awesome factor through the roof once you can deploy instances of OpenAtrium, Pressflow, ManagingNews or your own custom distro in just a couple of clicks.


DrupalDojo - Introduction to the Aegir Hosting System

I recently led a live DrupalDojo webinar on the Aegir hosting system.

The session was designed in lieu of potentially presenting a future series of Aegir-related dojo sessions that progress in terms of topic complexity (i.e beginner through to expert).

For this reason, the session was largely an introduction to the system and how to use it, with some 'under the hood' peeks where possible for those users who are comfortable with the terminology and process already.


Aegir batch site backup script

Many Aegir users ask whether there is a way to schedule backups of all sites provisioned in Aegir. Currently at the time of writing, no such scheduling exists within Aegir itself, since we have a few design decisions to work out (such as where to store the backups, especially when multi-server comes in!)

For the meantime, here's a crude little shell script that might help you. You should execute it as the aegir user.


Building Drupal applications with drush_make, provisioning sites with Aegir

I did a screencast on how you can use Drush Make to generate 'builds' based on Drupal core, with optional components such as install profiles + module/theme/library dependencies. The example given is the Managing News news aggregation system.

I then show how you can add the build as a Platform in Aegir, and rapidly provision sites on it in a multisite structure.


Drupal deployments & workflows with version control, drush_make, and Aegir

It's the million dollar question. And it's rarely been answered because it's so darn hard to do so.

How to solve the dev / staging / live workflow problem in Drupal?

Today I'd like to tell you how I do it with my favourite deployment weapons: Aegir, Version control, and Drush Make.



Subscribe to RSS - aegir