Why should I use a Continuous Deployment Server?

You most likely already have an automated build/continuous integration server. It will compile your code. It will run your tests: unit, integration, and acceptance. At this point, you might be inclined to think that it can also deploy directly to your various environments as well. However, most build servers only offer you the ability to run a script independent of whether that script is a script to compile the code or some other arbitrary set of commands… This is where a Continuous Deployment/Delivery Server becomes the right tool…

Manual Deployments

A common solution is to create deployment manuals but these can quickly become obsolete and out-of-sync…

Automated Deployments

Treating the deployment as code allows the same deployment process to be executed regardless of the environment or role. It also allows the deployment process to be version controlled in a source control management system.