continuous integration

'So, what is it you exactly do?' - Part one, continuous deployment

I hear this question a lot - both from non-technical folk, as well as agencies who know they are 'missing something' in their approach to deploying, securing and scaling applications, but aren't sure if a sysadmin will solve it. 'What is it that you (a sysadmin) actually does (e.g the day-to-day, or in general)?'

Video: Continuous Integration & Jenkins deployment, DC Toulouse 2011

Way back in November 2011, I did an unusual thing: I co-presented a talk about Drupal and Continuous Integration/Deployment at DrupalCamp Toulouse, except that I was Skyped in from my home town of Melbourne, Australia :)

The talk is actually mainly presented by Greg Harvey of Code Enigma, one of my clients, and I just provide - well, I don't know, comic relief with my Australian accent? :)

Manage your Aegir system from the command-line

As you probably know if you've been using it for a while, Aegir is generally considered to have two hemispheres: one is Hostmaster / Hosting, the install profile and module set that make up the web-based Aegir frontend control panel.

Testing puppet with Jenkins before deploying

During a rather boring conference a few weeks back, I decided to convert my own infrastructure from 'standalone puppet' (that is, a set of standalone puppet manifests that were executed by a basic shell script on each server I managed) to the 'client -> server' or 'puppetmaster' model (whereby a central puppet daemon controls the manifests, and servers connect to it for updates as 'clients'.)

You can read more about the different models here.

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:

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.