Achieving Continuous Integration / Deployment / Workflow - using Jenkins

Note: this is an archived site. The current site can be found at
Pacific Ballroom C

There are going to be times where you are working with a team of people.
There are going to be times where you cannot use Pantheon / Acquia / Heroku and you are stuck with managing the server(s) and software (this includes Drupal!)
In this instance, you have likely heard (or will likely hear) the following a number of times

"Could you please update the code on the dev site? I need to test."


"We need to push our changes to production. I'm sure everything is fine."

which is quickly followed by

"HOLY @#@$%! Something broke! Revert it back!"

Don't you wish this could all be a bit (well...a lot) easier?

It can!

In this session, I will talk about Jenkins, a continuous integration tool that is very useful for testing your software and also for deploying it / managing it. I'll talk about using Jenkins with Capistrano (where we use pre-existing deployment management software to tie Jenkins and Drupal together and another example where we tie Jenkins and a Symfony2 app together.).

In both instances, we can achieve a system that can perform code deployments, run updates, perform rollbacks, synchronize db/files between dev/staging/production/whateverelse and so much more with just a little code.

To note: the setting up part is aimed at a person that is not scared to ssh into a server and perform tasks on the command line (but wants to get out of the habit of doing so). The button clicking is aimed at everyone else that you want using such a system without continually requesting it from the person that can do so.

If there is time, we can also talk about hosted services and what others are doing in the Continuous * space.

One hour