Deployment automation

Before you can use a CI for continuous delivery, you'll need to set up a deploy automation tool.

A modern project needs to have a simple set of commands to magically update your servers. Contrast this to legacy projects, where deployment may involve manually transfering files and using a browser to invoke certain commands. These tasks need to be automated so they can be repeatable and protected from human errors.

Example

For websites hosted on Heroku, their platform already takes care of deploy automation for you. To update a Heroku website, you simply need to do a git push:

# Deploy your app into Heroku's hosting platform
git push heroku master

In other cases, you'd have to use other tools. For Ruby projects, Capistrano is a popular choice. A typical Ruby/Capistrano project would be deployed like so:

# Deploy your app using Capistrano
bundle exec cap production deploy

How to set up deployments

There are many different tools for this for many different programming languages. Some popular ones include:

It doesn't matter which solution you pick, as long as your project's deployments are easy, automated, and reliable.

Next: Use your CI to maintain a staging system.

results matching ""

    No results matching ""