Reliably Deploying Rails Applications is published by Leanpub in May 2014. This book has 142 pages in English, ISBN-13 .
Mastering Rails application deployment
This book will show you from start to finish how to:
- Setup a VPS from Scratch
- Setup additional servers in minutes
- Use Capistrano 3 to deploy quickly and reliably
- Automate boring maintenance tasks
If you’ve got applications on Heroku which are costing you a fortune, this will provide you with the tools you need to move them onto a VPS. This includes running several Rails Applications on a single VPS – great for small side projects.
If you’re already running your app on a VPS but the deploy process is flaky – it sometimes doesn’t restart or loads the wrong version of the code – this book provides a template for making the process hassle free.
Section 1: Chef
How to automate provisioning new servers with chef. By the end you’ll be able to get a new server up and ready to use within minutes.
Many standard Rails system configurations are supported out of the box with the example code (MySQL, PostgreSQL, MongoDB and Redis). For anything else, detailed instructions for setting up your own custom configurations are provided.
The aim of this section is to build a re-usable blueprint you can use whenever you need to setup a new VPS.
Section 2: Capistrano 3
Using Capistrano 3 to automate every aspect of deployment, from updating code to managing assets and background workers.
Particular attention is paid to setting up zero downtime deployment – essential if you’re iterating rapidly and want to deploy several times per day. This includes a section on common gotchas such as failing to reload the gemfile on deployment as well as a detailed guide to troubleshooting when it goes wrong.
I’ve spent hundreds of hours combing through blog posts, documentation and tweaking config files. This has got me to the stage where deploying to a VPS is as easy as – in fact often easier than – deploying to Heroku. If you want to do the same, this book will save you a lot of time.
Current Completion & Feedback
The first section – provisioning a server with chef – is complete, including instructions for PostgreSQL, MySQL and MongoDB. This includes a “Five minute VPS” quickstart section for the impatient.
The second section – deploying with Capistrano 3 – is also available and includes all the information needed to get zero downtime deployments working with Rails 3/4 and Unicorn. As well as detailed sample code, it includes complete instructions for deploying Sidekiq workers, a detailed section on Configuring Zero Downtime deployment and instructions for configuring NGinx Virtualhosts and SSL
Over the next few months I’ll be adding additional chapters which go into detail on backups and database management as well as editing the book based on the feedback I’ve received so far (please keep this coming!). I’ll also continue to add further chapters as and when I come across new tips and tricks.
Any feedback on content, structure or corrections very gratefully received, you can get me on twitter (@talkingquickly) or using the leanpub discuss button below.