by David Brewer
A deployment pipeline combines several development best practices, fully automated and taken to their logical extreme. The result is almost magical: changesets go in one end, and fully-tested software packages come out the other. We'll take a tour of the components of a deployment pipeline, with concrete examples showing how to use Hudson, Rake, and Puppet to deploy PHP projects.
In this session, we will answer the following questions:
* what is a deployment pipeline?
* why do I need one?
* how can I implement one using open source tools?
We will begin with a quick overview of deployment pipelines and their powerful benefits. We will then look in more detail at the components of such a pipeline, and some of the excellent open source tools you can use to implement your own. Along the way we'll look at concrete examples of a specific deployment pipeline implemented at Second Story to deploy PHP-based web applications.
The session's examples will involve these tools:
* continuous integration using Hudson (or its recent fork, Jenkins)
* configuration management using Puppet
* build automation using Rake
This is a high level session meant to introduce concepts and tools; it will be light on code examples or live demonstration of software.
21st–24th June 2011