Using Puppet, git, and Vagrant to build Drupal Development Environments

Last Saturday I had a chance to hang out with a group of awesome Drupal folks at the Charlotte Drupal Drive In. It great chatting with everyone talking about a few tools I use on a daily basis. One thing I talked briefly talked about was how I manage my development environments and how I use Vagrant, git, and Puppet to help me keep everything in order.

Managing site maintenance with Varnish 3.x

Recently I had to push out a few updates to a site that required a few big interface changes that I didn't want the public to see while I was making them. The application is running under Apache and we're using Varnish 3.x as a reverse proxy.

Using grep and awk to find the ServerNames of your hosted Aegir sites

This onliner looks at your apache vhost configs (you can also change it easily to work with nginx) and figures out all of the ServerNames your apache instance is listening for.

SITES=( $(/bin/grep ServerName /var/aegir/config/server_master/apache/vhost.d/* --color=none -h | awk '{ print $2 }') )

Testing apache2 on a raspberry pi

Testing the default apache2 configuration on my raspberry pi.

Fixing git 1.7.10's merging

So, I use git merge a lot with different scripts and in 1.7.10 they introduced a bit of an annoying new change to how git merge functions. In older versions it would automatically set a message, something like "Merged develop into master." Now it allows you to specify a message for the merge, which isn't a bad thing. It just reeked havoc on some of my deployment scripts.

There is a simple fix, in the beginning of your script add these lines:

Installing Jenkins on Ubuntu 11.10

I use Jenkins every day for running different tasks. For example I use it to run cron on sites, build new platforms in Aegir, and run various shell scripts that do different things. It's really easy to setup, but kinda tricky.

As root, or with sudo you run the following commands:

Some fun unix commands

Cleaning up old Aegir backups

If you use the Backup Scheduler built into Aegir you've already figured out that it's weird to configure and can start to eat up a lot of disk space if you have an agressive backup scheme or a lot of Drupal instances. We had about 40 or so when I noticed that our disk space started to resemble a J curve:

Reddit repost: Developing like a boss for Drupal

Okay, so I missed my daily blog post yesterday, I was a kinda busy. I'm hoping to make up for it by doing two posts today, this is the first one. It's a repost from a reddit thread titled: Drupal development 2 or more people on one project. Forgive my spelling and any other errors, I got kinda drunk in the middle of this one. Enjoy.