With a day to let this sit, I thought more about it (and did more searches), and did not find anything compartmentalized to handle this. I'll probably move forward with making this into a gem. Is anyone interested? Are there particular features you'd like to see this handle?
-Kevin On Apr 7, 2009, at 12:50 PM, Kevin Elliott wrote: > > Forgive me if this has been solved in its entirety, although I've only > seen bits and pieces of this solved in various ways. I'm hoping a few > of you have figured out an elegant solution to this problem. > > Over time I've noticed that it would be immensely helpful if we were > able to easily correlate which git commit version was running in all > of our environments of our application. Capistrano is kind and stores > this deployment version value in REVISION, and the deployment time in > the timestamp of the deployment directory. > > Seth Ladd wrote about a couple of helper methods he wrote to acquire > these values at > http://blog.semergence.com/2008/11/03/displaying-deployment-date-and-time-and-git-revision-number-in-rails-views > > I'd like to take this up a notch and mark known good commits with > releases (i.e. 1.0, 1.1, 1.2, 1.2.1, etc). At the footer of all pages, > it would be excellent to be able to see something like "PROD - 1.0 > (3425)" (ENVIRONMENT - VERSION (BUILD)) where BUILD corresponds to a > git commit hash (somehow). I'd like to be able to catalog which commit > hash maps to which version (and do this semi-automatically, through a > rake/cap task, aka: cap deploy:version:increment only when a major/ > minor release occurs). > > Then, I'd also like to extract all dependency version numbers, and > combine all of this into exception reporting. So when an exception is > thrown (gracefully to the end user with an error page), email is > generated with: > > environment (production, staging, development, etc) > particular app server hostname/ip/port > app version (1.0, 1.0.1, 1.2, 1.3, etc) > build version (3425) > git commit hash > dependent gems and plugins > versions of each gem and plugin REQUIRED for the release > versions of each gem and plugin installed > > Is anyone aware of a single tool that has combined all of this > together? There are certainly some solutions, such as > exception_notifier, hoptoad, etc, which do the exception > notifications, but do not handle "release management" or release > correlation. > > If not, I think this might be worthy of a plugin or gem that I'd > consider building. > > -Kevin > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---