There are going to be times where you are working with a team of people.
There are going to be times where you are stuck with managing the server(s), software, and the application codebase.
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?
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 our application together. I want to emphasize that since Jenkins is very much a frontend, the Capistrano portion of it can really be replaced with anything else you want (Chef, Puppet, Scripts, etc).
In this demo 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.