Capistrano style deployments using Chef's "deploy" resource
Capistrano is a very popular push-based deployment tool used extensively in the world of Ruby on Rails applications. However, once you've moved your infrastructure to the cloud, in addition to the automatic provisioning of machines, you also need to be interested in ensuring that once the machines are up and running, they come up with the right version of your application code. Now, the provisioning of machines is the domain of Chef, while application deployment is classically a task belonging to the realm of Capistrano. However, now with the "deploy" resource of Chef, you can deploy your favorite Ruby on Rails application, just as you would do with Capistrano.
The deploy
resource is meant to provide the facility of the deploy
and deploy:migration
tasks in Capistrano.
The syntax of the deploy resource is as follows:
deploy "name" do attribute "value" ... callback do # callback...