Posted about 9 years ago. Visible to the public. Repeats.

Capistrano: How to find out which version of your application is currently live

When deploying, Capistrano puts a REVISION file into your application's release directory. It contains the hash of the commit which was deployed.

If you want to know the currently deployed release, simply SSH to a server and view that file.

Copy
$ cat /var/www/my-project/current/REVISION cf8734ece3938fc67262ad5e0d4336f820689307

Capistrano task

When your application is deployed to multiple servers, you probably want to see a result for all of them.
Here is a Capistrano task that checks all servers with the :app role.

Copy
namespace :deploy do desc 'Show deployed revision' task :revision do on roles :app do |host| within current_path do info "#{host}: #{capture :cat, 'REVISION'}" end end end end

Output looks like this:

Copy
$ cap production deploy:revision 00:00 deploy:revision app01.example.com: cf8734ece3938fc67262ad5e0d4336f820689307 app02.example.com: cf8734ece3938fc67262ad5e0d4336f820689307 app03.example.com: cf8734ece3938fc67262ad5e0d4336f820689307

Deployment log

Note that Capistrano also logs each deployment. We have a separate card on finding out user/branch/commit/timestamp for past deployments.

Your development team has a full backlog of feature requests, chores and refactoring coupled with deadlines? We are familiar with that. With our "DevOps as a Service" offering, we support developer teams with infrastructure and operations expertise.

Owner of this card:

Avatar
Arne Hartherz
Last edit:
almost 2 years ago
by Arne Hartherz
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Arne Hartherz to makandra dev
This website uses short-lived cookies to improve usability.
Accept or learn more